Ver Fonte

:art: 基于内容块属性动态建立对应数据库表结构 https://github.com/siyuan-note/siyuan/issues/7521

Liang Ding há 2 anos atrás
pai
commit
de649f16c0
1 ficheiros alterados com 27 adições e 5 exclusões
  1. 27 5
      kernel/av/av.go

+ 27 - 5
kernel/av/av.go

@@ -56,16 +56,38 @@ func (av *AttributeView) GetColumnNames() (ret []string) {
 }
 
 type AttributeViewFilter struct {
-	Column   string `json:"column"`
-	Operator string `json:"operator"`
-	Value    string `json:"value"`
+	Column   string         `json:"column"`
+	Operator FilterOperator `json:"operator"`
+	Value    string         `json:"value"`
 }
 
+type FilterOperator string
+
+const (
+	FilterOperatorEq      FilterOperator = "="
+	FilterOperatorNe      FilterOperator = "!="
+	FilterOperatorGt      FilterOperator = ">"
+	FilterOperatorGe      FilterOperator = ">="
+	FilterOperatorLt      FilterOperator = "<"
+	FilterOperatorLe      FilterOperator = "<="
+	FilterOperatorIn      FilterOperator = "IN"
+	FilterOperatorNotIn   FilterOperator = "NOT IN"
+	FilterOperatorLike    FilterOperator = "LIKE"
+	FilterOperatorNotLike FilterOperator = "NOT LIKE"
+)
+
 type AttributeViewSort struct {
-	Column string `json:"column"`
-	Order  string `json:"order"`
+	Column string    `json:"column"`
+	Order  SortOrder `json:"order"`
 }
 
+type SortOrder string
+
+const (
+	SortOrderAsc  SortOrder = "ASC"
+	SortOrderDesc SortOrder = "DESC"
+)
+
 // SyncAttributeViewTableFromJSON 从 JSON 文件同步属性视图表,用于数据同步后将属性视图 JSON 文件同步到数据库。
 func SyncAttributeViewTableFromJSON(tableID string) (err error) {
 	avJSONPath := getAttributeViewJSONPath(tableID)