@steedos/standard-object-database 2.7.1-beta.16 → 2.7.1-beta.18

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 (31) hide show
  1. package/main/default/objectTranslations/object_functions.en/object_functions.en.objectTranslation.yml +4 -0
  2. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +4 -0
  3. package/main/default/objects/datasources/fields/driver.field.yml +1 -0
  4. package/main/default/objects/datasources/fields/is_enable.field.yml +1 -0
  5. package/main/default/objects/datasources/fields/label.field.yml +2 -0
  6. package/main/default/objects/datasources/fields/name.field.yml +1 -0
  7. package/main/default/objects/object_fields/fields/is_name.field.yml +1 -1
  8. package/main/default/objects/object_fields/fields/summary_filters.field.yml +1 -1
  9. package/main/default/objects/object_functions/fields/description.field.yml +5 -0
  10. package/main/default/objects/object_functions/fields/script.field.yml +3 -3
  11. package/main/default/objects/object_triggers/fields/_name.field.yml +1 -0
  12. package/main/default/objects/object_triggers/fields/isEnabled.field.yml +1 -0
  13. package/main/default/objects/object_triggers/fields/listenTo.field.yml +1 -0
  14. package/main/default/objects/object_triggers/fields/name.field.yml +1 -0
  15. package/main/default/objects/object_triggers/fields/when.field.yml +1 -0
  16. package/main/default/objects/object_validation_rules/fields/active.field.yml +1 -0
  17. package/main/default/objects/object_validation_rules/fields/description.field.yml +1 -0
  18. package/main/default/objects/object_validation_rules/fields/name.field.yml +2 -0
  19. package/main/default/objects/object_validation_rules/fields/object_name.field.yml +1 -0
  20. package/main/default/objects/object_webhooks/fields/event.field.yml +2 -1
  21. package/main/default/objects/object_webhooks/fields/execute_when.field.yml +2 -1
  22. package/main/default/objects/object_webhooks/fields/name.field.yml +3 -1
  23. package/main/default/objects/object_webhooks/fields/object_name.field.yml +3 -1
  24. package/main/default/objects/object_webhooks/fields/payload_url.field.yml +3 -1
  25. package/main/default/objects/objects/fields/description.field.yml +1 -0
  26. package/main/default/objects/objects/fields/in_development.field.yml +2 -0
  27. package/main/default/objects/objects/fields/is_customize.field.yml +1 -0
  28. package/main/default/objects/objects/fields/is_system.field.yml +1 -0
  29. package/main/default/server/object_fields.object.js +1 -1
  30. package/main/default/services/suggestions.service.js +92 -0
  31. package/package.json +5 -5
@@ -49,6 +49,10 @@ fields:
49
49
  options:
50
50
  - label: "Script"
51
51
  value: "script"
52
+ description:
53
+ label: Description
54
+ help:
55
+ description:
52
56
  listviews:
53
57
  all:
54
58
  label: All
@@ -46,6 +46,10 @@ fields:
46
46
  options:
47
47
  - label: "Script"
48
48
  value: "script"
49
+ description:
50
+ label: 备注
51
+ help:
52
+ description:
49
53
  listviews:
50
54
  all:
51
55
  label: 所有
@@ -6,3 +6,4 @@ options: >-
6
6
  Server:sqlserver,PostgreSQL:postgres,Oracle:oracle,MySQL:mysql,Sqlite:sqlite
7
7
  required: true
8
8
  sort_no: 100
9
+ filterable: true
@@ -2,3 +2,4 @@ name: is_enable
2
2
  type: boolean
3
3
  label: Enable
4
4
  sort_no: 250
5
+ filterable: true
@@ -4,3 +4,5 @@ label: Label
4
4
  required: true
5
5
  is_name: true
6
6
  sort_no: 110
7
+ filterable: true
8
+ searchable: true
@@ -9,3 +9,4 @@ inlineHelpText: >-
9
9
  cannot end with an underscore character or contain two consecutive underscore
10
10
  characters
11
11
  sort_no: 120
12
+ filterable: true
@@ -6,4 +6,4 @@ hidden: false
6
6
  label: Is Name
7
7
  sort_no: 650
8
8
  type: boolean
9
- visible_on: ${ARRAYSOME(['text', 'textarea', 'autonumber', 'date', 'datetime', 'time', 'formula', 'lookup'], item => item === type) && !multiple}
9
+ visible_on: ${ARRAYSOME(['text', 'textarea', 'autonumber', 'date', 'datetime', 'time', 'formula', 'lookup', 'master_detail'], item => item === type) && !multiple}
@@ -13,4 +13,4 @@ is_wide: true
13
13
  label: Filter Criteria
14
14
  sort_no: 280
15
15
  type: table
16
- visible_on: '{{formData.type === ''summary'' && global.mode !=''read'' ? true: false}}'
16
+ visible_on: '{{formData.type === ''summary''}}'
@@ -0,0 +1,5 @@
1
+ name: description
2
+ label: Description
3
+ type: textarea
4
+ sort_no: 200
5
+ is_wide: true
@@ -9,13 +9,13 @@ defaultValue: |-
9
9
  // objects
10
10
  // ctx.input
11
11
  editorDidMount: >-
12
- if(window._registerCompletionItemProviderTrigger){
12
+ if(window._registerCompletionItemProviderFunction){
13
13
  return ;
14
14
  }
15
15
 
16
- window._registerCompletionItemProviderTrigger = true;
16
+ window._registerCompletionItemProviderFunction = true;
17
17
 
18
- const result = Steedos.authRequest("/service/api/suggestions/trigger.d.ts",
18
+ const result = Steedos.authRequest("/service/api/suggestions/function.d.ts",
19
19
  {async: false});
20
20
 
21
21
  monaco.languages.typescript.javascriptDefaults.addExtraLib(
@@ -5,3 +5,4 @@ searchable: true
5
5
  index: true
6
6
  required: true
7
7
  sort_no: 100
8
+ filterable: true
@@ -3,3 +3,4 @@ label: Enabled
3
3
  type: boolean
4
4
  defaultValue: true
5
5
  sort_no: 140
6
+ filterable: true
@@ -5,3 +5,4 @@ reference_to: objects
5
5
  reference_to_field: name
6
6
  required: true
7
7
  sort_no: 120
8
+ filterable: true
@@ -3,3 +3,4 @@ data_type: text
3
3
  type: text
4
4
  visible_on: '{{false}}'
5
5
  sort_no: 110
6
+ filterable: true
@@ -20,3 +20,4 @@ options:
20
20
  - label: 查询记录之前
21
21
  value: beforeFind
22
22
  sort_no: 130
23
+ filterable: true
@@ -5,3 +5,4 @@ inlineHelpText: >-
5
5
  Indicates whether this validation rule is active, (true), or not active
6
6
  (false).
7
7
  sort_no: 120
8
+ filterable: true
@@ -3,3 +3,4 @@ type: textarea
3
3
  is_wide: true
4
4
  label: description
5
5
  sort_no: 130
6
+ filterable: true
@@ -3,3 +3,5 @@ type: text
3
3
  label: Name
4
4
  required: true
5
5
  sort_no: 100
6
+ filterable: true
7
+ searchable: true
@@ -6,3 +6,4 @@ write_requires_master_read: true
6
6
  reference_to_field: name
7
7
  required: true
8
8
  sort_no: 110
9
+ filterable: true
@@ -12,4 +12,5 @@ options:
12
12
  - label: 记录已创建或已更新
13
13
  value: createAndUpdate
14
14
  - label: 记录已删除
15
- value: delete
15
+ value: delete
16
+ filterable: true
@@ -9,4 +9,5 @@ options:
9
9
  - label: 每次更新记录并满足条件要求
10
10
  value: trueEveryTime
11
11
  - label: 仅在更新记录以满足条件要求时
12
- value: trueOnChangeOnly
12
+ value: trueOnChangeOnly
13
+ filterable: true
@@ -2,4 +2,6 @@ name: name
2
2
  type: text
3
3
  label: Name
4
4
  required: true
5
- sort_no: 10
5
+ sort_no: 10
6
+ filterable: true
7
+ searchable: true
@@ -5,4 +5,6 @@ reference_to_field: name
5
5
  label: Object
6
6
  required: true
7
7
  index: true
8
- sort_no: 20
8
+ sort_no: 20
9
+ searchable: true
10
+ filterable: true
@@ -4,4 +4,6 @@ type: text
4
4
  is_wide: true
5
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
6
  required: true
7
- sort_no: 70
7
+ sort_no: 70
8
+ filterable: true
9
+ searchable: true
@@ -4,3 +4,4 @@ is_wide: true
4
4
  label: Description
5
5
  sort_no: 50
6
6
  type: textarea
7
+ filterable: true
@@ -13,3 +13,5 @@ options:
13
13
  required: true
14
14
  sort_no: 40
15
15
  type: select
16
+ filterable: true
17
+
@@ -4,3 +4,4 @@ label: 是否自定义
4
4
  readonly: true
5
5
  sort_no: 100
6
6
  type: boolean
7
+ filterable: true
@@ -6,3 +6,4 @@ readonly: true
6
6
  sort_no: 110
7
7
  type: boolean
8
8
  visible_on: '{{global.mode ===''read'' ? true : false}}'
9
+ filterable: true
@@ -299,7 +299,7 @@ function allowChangeObject(){
299
299
  }
300
300
 
301
301
  function checkNameField(nameField){
302
- if(["text", "textarea", "autonumber", "date", "datetime", "time", "formula", "lookup"].indexOf(nameField.type) < 0){
302
+ if(["text", "textarea", "autonumber", "date", "datetime", "time", "formula", "lookup", "master_detail"].indexOf(nameField.type) < 0){
303
303
  throw new Error("只有文本、长文本、自动编号、日期、日期时间、时间、公式、相关表这些类型的字段可以被设置为名称字段");
304
304
  } else if(nameField.type == "lookup" && nameField.multiple) {
305
305
  throw new Error("多选的相关表字段不可以被设置为名称字段");
@@ -129,6 +129,98 @@ module.exports = {
129
129
  ${servicesTypes}
130
130
  `
131
131
  }
132
+ },
133
+ functionTSExtraLib: {
134
+ rest: {
135
+ method: "GET",
136
+ path: "/function.d.ts",
137
+ },
138
+ async handler(ctx) {
139
+ let objectsTypes = 'declare const objects: {';
140
+ _.each(global.objects, (v, k)=>{
141
+ objectsTypes = `${objectsTypes} ${k}: SteedosObjectType;`
142
+ });
143
+
144
+ objectsTypes = objectsTypes + '}'
145
+
146
+ return `
147
+
148
+ declare var global = {_: any, moment: any, validator: any, filters: any};
149
+
150
+ declare type Params = {
151
+ userId: SteedosIDType;
152
+ spaceId?: SteedosIDType;
153
+ }
154
+
155
+ declare type CTXType = {
156
+ input: any;
157
+ params: Params;
158
+ broker: {
159
+ meta: any;
160
+ call: any;
161
+ mcall: any;
162
+ emit: any;
163
+ broadcast: any;
164
+ broadcastLocal: any;
165
+ namespace: string;
166
+ nodeID: string;
167
+ instanceID: string;
168
+ logger: any;
169
+ metadata: any;
170
+ },
171
+ getObject(objectName: string): SteedosObjectType;
172
+ getUser(userId: string, spaceId: string): Promise<SteedosUserSession>;
173
+ };
174
+
175
+ declare var ctx: CTXType;
176
+
177
+ declare type SteedosQueryFilters = any;
178
+ declare type SteedosIDType = number | string;
179
+ declare type SteedosQueryOptions = {
180
+ fields?: Array<string> | string;
181
+ readonly filters?: SteedosQueryFilters;
182
+ readonly top?: number;
183
+ readonly skip?: number;
184
+ readonly sort?: string;
185
+ };
186
+ declare type SteedosUserSession = {
187
+ userId: SteedosIDType;
188
+ spaceId?: string;
189
+ name: string;
190
+ username?: string;
191
+ mobile?: string;
192
+ email?: string;
193
+ utcOffset?: number;
194
+ locale?: string;
195
+ roles?: string[];
196
+ space?: any;
197
+ spaces?: any;
198
+ company?: any;
199
+ companies?: any;
200
+ organization?: any;
201
+ organizations?: any;
202
+ permission_shares?: any;
203
+ company_id?: string;
204
+ company_ids?: string[];
205
+ is_space_admin?: boolean;
206
+ steedos_id?: string;
207
+ };
208
+ declare class SteedosObjectType {
209
+ find(query: SteedosQueryOptions, userSession?: SteedosUserSession): Promise<any>;
210
+ findOne(id: SteedosIDType, query: SteedosQueryOptions, userSession?: SteedosUserSession): Promise<any>;
211
+ insert(doc: Dictionary<any>, userSession?: SteedosUserSession): Promise<any>;
212
+ update(id: SteedosIDType, doc: Dictionary<any>, userSession?: SteedosUserSession): Promise<any>;
213
+ delete(id: SteedosIDType, userSession?: SteedosUserSession): Promise<any>;
214
+ directFind(query: SteedosQueryOptions, userSession?: SteedosUserSession): Promise<any>;
215
+ directInsert(doc: Dictionary<any>, userSession?: SteedosUserSession): Promise<any>;
216
+ directUpdate(id: SteedosIDType, doc: Dictionary<any>, userSession?: SteedosUserSession): Promise<any>;
217
+ directDelete(id: SteedosIDType, userSession?: SteedosUserSession): Promise<any>;
218
+ count(query: SteedosQueryOptions, userSession?: SteedosUserSession): Promise<any>;
219
+ _makeNewID(): Promise<any>;
220
+ }
221
+ ${objectsTypes}
222
+ `
223
+ }
132
224
  }
133
225
  },
134
226
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/standard-object-database",
3
- "version": "2.7.1-beta.16",
3
+ "version": "2.7.1-beta.18",
4
4
  "main": "package.service.js",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -12,14 +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.16",
16
- "@steedos/service-object-mixin": "2.7.1-beta.16",
17
- "@steedos/standard-objects": "2.7.1-beta.16",
15
+ "@steedos/metadata-core": "2.7.1-beta.18",
16
+ "@steedos/service-object-mixin": "2.7.1-beta.18",
17
+ "@steedos/standard-objects": "2.7.1-beta.18",
18
18
  "amis-formula": "~6.3.0",
19
19
  "clone": "^2.1.2",
20
20
  "moleculer-bullmq": "3.0.0"
21
21
  },
22
22
  "repository": {},
23
23
  "license": "MIT",
24
- "gitHead": "ab56517f48e72f56687af564a3c93f4f29d02e1f"
24
+ "gitHead": "c2fa4bb0bf8837b4099f7dbb3f9319f0e1a35311"
25
25
  }