@steedos/standard-object-database 2.7.27-beta.6 → 2.7.28-beta.1
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/LICENSE.txt +12 -652
- package/main/default/client/object_fields.client.js +14 -1
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +4 -1
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +5 -2
- package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +28 -13
- package/main/default/objects/object_fields/fields/is_name.field.yml +1 -1
- package/main/default/objects/object_fields/listviews/all.listview.yml +1 -0
- package/main/default/objects/object_functions/fields/script.field.yml +3 -2
- package/main/default/objects/object_triggers/fields/handler.field.yml +3 -2
- package/main/default/objects/objects/fields/datasource.field.yml +3 -4
- package/main/default/objects/objects/fields/enable_audit.field.yml +6 -0
- package/main/default/objects/objects/fields/enable_chatter.field.yml +1 -0
- package/main/default/objects/objects/fields/table_name.field.yml +6 -3
- package/main/default/objects/objects/fields/table_pk_generated.field.yml +8 -0
- package/main/default/objects/objects/fields/table_pk_is_name.field.yml +8 -0
- package/main/default/objects/objects/fields/table_pk_name.field.yml +12 -0
- package/main/default/objects/objects/fields/table_pk_type.field.yml +14 -0
- package/main/default/objects/objects/objects.object.yml +8 -0
- package/main/default/pages/object_detail.page.amis.json +2 -1
- package/main/default/pages/object_form.page.amis.json +1 -1
- package/main/default/server/object_fields.object.js +5 -2
- package/main/default/server/objects.object.js +163 -114
- package/main/default/services/suggestions.service.js +1 -0
- package/main/default/triggers/object_fields.trigger.js +8 -0
- package/main/default/triggers/objects.trigger.js +36 -0
- package/package.json +5 -5
|
@@ -329,6 +329,9 @@ module.exports = {
|
|
|
329
329
|
},
|
|
330
330
|
beforeUpdate: async function () {
|
|
331
331
|
let { doc, object_name, id} = this;
|
|
332
|
+
if(doc.name === '_id' || doc._name === '_id'){
|
|
333
|
+
throw new Error('禁止修改ID字段')
|
|
334
|
+
}
|
|
332
335
|
delete doc.is_customize
|
|
333
336
|
validateDoc(doc);
|
|
334
337
|
// const dbDoc = await objectql.getObject(object_name).findOne(id)
|
|
@@ -396,6 +399,11 @@ module.exports = {
|
|
|
396
399
|
}
|
|
397
400
|
},
|
|
398
401
|
beforeDelete: async function () {
|
|
402
|
+
let { object_name, id} = this;
|
|
403
|
+
const doc = await this.getObject("object_fields").findOne(id);
|
|
404
|
+
if(doc.name === '_id' || doc._name === '_id'){
|
|
405
|
+
throw new Error('禁止删除ID字段')
|
|
406
|
+
}
|
|
399
407
|
const field = await this.getObject(this.object_name).findOne(this.id,{fields:['name','object']});
|
|
400
408
|
const enable_tree = await objectql.getObject(field.object).enable_tree;
|
|
401
409
|
if( ["parent","children"].indexOf(field.name) > -1 && enable_tree ){
|
|
@@ -150,6 +150,42 @@ module.exports = {
|
|
|
150
150
|
}
|
|
151
151
|
*/
|
|
152
152
|
}
|
|
153
|
+
if (_.has(doc, 'datasource')) {
|
|
154
|
+
const obj = this.getObject(object_name);
|
|
155
|
+
const latestDoc = await obj.findOne(id);
|
|
156
|
+
const newObjDatasource = latestDoc.datasource;
|
|
157
|
+
if(doc.datasource != newObjDatasource){
|
|
158
|
+
throw new Error(`禁止修改数据源`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if(doc.datasource != 'meteor' && doc.datasource != 'default' && doc.datasource){
|
|
162
|
+
var idFieldSet = {}
|
|
163
|
+
if(_.has(doc, 'table_pk_name')){
|
|
164
|
+
idFieldSet.column_name = doc.table_pk_name
|
|
165
|
+
}
|
|
166
|
+
if(_.has(doc, 'table_pk_type')){
|
|
167
|
+
idFieldSet.type = doc.table_pk_type
|
|
168
|
+
}
|
|
169
|
+
if(_.has(doc, 'table_pk_generated')){
|
|
170
|
+
idFieldSet.generated = doc.table_pk_generated
|
|
171
|
+
}
|
|
172
|
+
if(_.has(doc, 'table_pk_is_name')){
|
|
173
|
+
idFieldSet.is_name = doc.table_pk_is_name
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if(!_.isEmpty(idFieldSet)){
|
|
177
|
+
const adapter = objectql.getDataSource('default').adapter;
|
|
178
|
+
await adapter.connect()
|
|
179
|
+
let collection = adapter.collection('object_fields');
|
|
180
|
+
await collection.update({
|
|
181
|
+
object: doc.name,
|
|
182
|
+
name: '_id'
|
|
183
|
+
}, {
|
|
184
|
+
$set: idFieldSet
|
|
185
|
+
})
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
}
|
|
153
189
|
},
|
|
154
190
|
afterUpdate: async function () {
|
|
155
191
|
const { doc, previousDoc } = this;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/standard-object-database",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.28-beta.1",
|
|
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.
|
|
16
|
-
"@steedos/service-object-mixin": "2.7.
|
|
17
|
-
"@steedos/standard-objects": "2.7.
|
|
15
|
+
"@steedos/metadata-core": "2.7.28-beta.1",
|
|
16
|
+
"@steedos/service-object-mixin": "2.7.28-beta.1",
|
|
17
|
+
"@steedos/standard-objects": "2.7.28-beta.1",
|
|
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": "
|
|
24
|
+
"gitHead": "ec675154618d09d9a7585ad4d93de475bf4ff8d1"
|
|
25
25
|
}
|