From de649f16c03572349e3ccff8e1ff8cd40d213ce1 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 2 Mar 2023 09:33:21 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=9F=BA=E4=BA=8E=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=9D=97=E5=B1=9E=E6=80=A7=E5=8A=A8=E6=80=81=E5=BB=BA=E7=AB=8B?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84=20https://github.com/siyuan-note/siyuan/issues/7521?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/av/av.go | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/kernel/av/av.go b/kernel/av/av.go index 5ef3560d8..dc26a5554 100644 --- a/kernel/av/av.go +++ b/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)