diff --git a/package.json b/package.json
index 79714e88e..7b461fe66 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "rebuild-eslint",
+ "name": "rebuild-lint",
"version": "1.0.0",
"description": "rebuild js/jsx lint",
"author": "rebuild",
@@ -9,7 +9,7 @@
"url": "https://github.com/getrebuild/rebuild.git"
},
"scripts": {
- "lint": "eslint --ext .jsx,.js ./src/main/webapp/assets/js"
+ "lint": "eslint --ext .jsx,.js ./src/main/webapp/assets/js &"
},
"devDependencies": {
"babel-eslint": "^10.1.0",
diff --git a/pom.xml b/pom.xml
index 1f1ab93f2..1184069df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -127,7 +127,7 @@
com.github.devezhao
persist4j
- 4aec003cc9
+ 1f3796ffc6
junit
diff --git a/src/main/java/com/rebuild/server/metadata/entity/EasyMeta.java b/src/main/java/com/rebuild/server/metadata/entity/EasyMeta.java
index 171a155c4..f289d76dc 100644
--- a/src/main/java/com/rebuild/server/metadata/entity/EasyMeta.java
+++ b/src/main/java/com/rebuild/server/metadata/entity/EasyMeta.java
@@ -83,6 +83,33 @@ public class EasyMeta implements BaseMeta {
return baseMeta.getExtraAttrs();
}
+ @Override
+ public boolean isCreatable() {
+ return baseMeta.isCreatable();
+ }
+
+ @Override
+ public boolean isUpdatable() {
+ if (isField()) {
+ if (!baseMeta.isUpdatable()) {
+ return false;
+ }
+
+ Field field = (Field) baseMeta;
+ Set set = RobotTriggerManager.instance.getAutoReadonlyFields(field.getOwnEntity().getName());
+ return !set.contains(field.getName());
+ }
+
+ return baseMeta.isUpdatable();
+ }
+
+ @Override
+ public boolean isQueryable() {
+ return baseMeta.isQueryable();
+ }
+
+ // --
+
/**
* also #getDescription()
* @return
@@ -226,24 +253,6 @@ public class EasyMeta implements BaseMeta {
return getFieldExtConfig().get(name);
}
- /**
- * 此方法除了判断元数据,还会判断其他业务规则
- *
- * @return
- * @see Field#isUpdatable()
- * @see RobotTriggerManager#getAutoReadonlyFields(String)
- */
- public boolean isUpdatable() {
- Assert.isTrue(isField(), "Field supports only");
- final Field field = (Field) baseMeta;
- if (!field.isUpdatable()) {
- return false;
- }
-
- Set set = RobotTriggerManager.instance.getAutoReadonlyFields(field.getOwnEntity().getName());
- return !set.contains(field.getName());
- }
-
/**
* 指定实体具有和业务实体一样的特性(除权限以外(指定实体无权限字段))。
* @return
diff --git a/src/main/java/com/rebuild/server/metadata/entity/Field2Schema.java b/src/main/java/com/rebuild/server/metadata/entity/Field2Schema.java
index 2d65b4a1f..6270789fe 100644
--- a/src/main/java/com/rebuild/server/metadata/entity/Field2Schema.java
+++ b/src/main/java/com/rebuild/server/metadata/entity/Field2Schema.java
@@ -282,7 +282,7 @@ public class Field2Schema {
recordOfField = Application.getCommonService().create(recordOfField);
tempMetaId.add(recordOfField.getPrimary());
- // 此处会改变一些属性,因为并不想他们同步到数据库 SCHEMA
+ // 此处会改变一些属性,因为并不想他们同步到数据库
boolean autoValue = EntityHelper.AutoId.equalsIgnoreCase(fieldName);
if (EntityHelper.ApprovalState.equalsIgnoreCase(fieldName)) {
@@ -290,16 +290,16 @@ public class Field2Schema {
}
// 系统级字段非空
- if (MetadataHelper.isCommonsField(fieldName)
- && !(MetadataHelper.isApprovalField(fieldName) || fieldName.equalsIgnoreCase(EntityHelper.QuickCode))) {
- nullable = false;
- } else {
- nullable = true;
- }
+ if (MetadataHelper.isCommonsField(fieldName)
+ && !(MetadataHelper.isApprovalField(fieldName) || fieldName.equalsIgnoreCase(EntityHelper.QuickCode))) {
+ nullable = false;
+ } else {
+ nullable = true;
+ }
- Field unsafeField = new FieldImpl(
- fieldName, physicalName, fieldLabel, entity, dt.getFieldType(), CascadeModel.Ignore, maxLength,
- nullable, creatable, updatable, repeatable, DECIMAL_SCALE, defaultValue, autoValue);
+ Field unsafeField = new FieldImpl(fieldName, physicalName, fieldLabel, null,
+ creatable, updatable, Boolean.TRUE, entity, dt.getFieldType(), maxLength, CascadeModel.Ignore,
+ nullable, repeatable, autoValue, DECIMAL_SCALE, defaultValue);
if (entity instanceof UnsafeEntity) {
((UnsafeEntity) entity).addField(unsafeField);
}
diff --git a/src/main/java/com/rebuild/server/metadata/entity/UnsafeEntity.java b/src/main/java/com/rebuild/server/metadata/entity/UnsafeEntity.java
index d5f23e128..9be111e1f 100644
--- a/src/main/java/com/rebuild/server/metadata/entity/UnsafeEntity.java
+++ b/src/main/java/com/rebuild/server/metadata/entity/UnsafeEntity.java
@@ -29,8 +29,9 @@ import cn.devezhao.persist4j.metadata.impl.EntityImpl;
public class UnsafeEntity extends EntityImpl {
private static final long serialVersionUID = 2107073554299141281L;
- protected UnsafeEntity(String entityName, String physicalName, String entityLabel, int typeCode, String nameField) {
- super(entityName, physicalName, entityLabel, typeCode, nameField);
+ protected UnsafeEntity(String entityName, String physicalName, String entityLabel, int typeCode, String nameFieldName) {
+ super(entityName, physicalName, entityLabel, null,
+ Boolean.TRUE, Boolean.TRUE, Boolean.TRUE, typeCode, nameFieldName, Boolean.TRUE);
}
@Override