Explorar o código

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

Liang Ding %!s(int64=2) %!d(string=hai) anos
pai
achega
de649f16c0
Modificáronse 1 ficheiros con 27 adicións e 5 borrados
  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 {
 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 {
 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 文件同步到数据库。
 // SyncAttributeViewTableFromJSON 从 JSON 文件同步属性视图表,用于数据同步后将属性视图 JSON 文件同步到数据库。
 func SyncAttributeViewTableFromJSON(tableID string) (err error) {
 func SyncAttributeViewTableFromJSON(tableID string) (err error) {
 	avJSONPath := getAttributeViewJSONPath(tableID)
 	avJSONPath := getAttributeViewJSONPath(tableID)