فهرست منبع

fix(apis): upsert property for the user property

charlie 7 ماه پیش
والد
کامیت
d80d9a46d4
2فایلهای تغییر یافته به همراه6 افزوده شده و 4 حذف شده
  1. 3 2
      clj-e2e/test/logseq/e2e/plugins_basic_test.clj
  2. 3 2
      src/main/logseq/api.cljs

+ 3 - 2
clj-e2e/test/logseq/e2e/plugins_basic_test.clj

@@ -102,11 +102,12 @@
   (testing "properties management related apis"
     (let [_ (ls-api-call! :editor.upsertProperty "o1")
           _ (ls-api-call! :editor.upsertProperty "o2" {:type "number"})
-          ;_ (ls-api-call! :editor.upsertProperty "user.property/o3" {:type "node"})
+          _ (ls-api-call! :editor.upsertProperty "user.property/o3" {:type "node"})
           prop1 (ls-api-call! :editor.getProperty "o1")
           prop2 (ls-api-call! :editor.getProperty "o2")
           prop3 (ls-api-call! :editor.getProperty "user.property/o3")]
       (is (= (get prop1 "ident") ":plugin.property._api/o1"))
       (is (= (get prop1 "type") "default"))
       (is (= (get prop2 "type") "number"))
-      (is (nil? prop3)))))
+      (is (= (get prop3 "ident") ":user.property/o3"))
+      (is (= (get prop3 "type") "node")))))

+ 3 - 2
src/main/logseq/api.cljs

@@ -912,9 +912,9 @@
            (when-let [k' (and (string? k) (keyword k))]
              (let [prefix (api-block/resolve-property-prefix-for-db this)]
                (p/let [opts (or (some-> opts (bean/->clj)) {})
-                       name (or (:name opts) (some-> (str k) (string/trim)))
                        k (if (qualified-keyword? k') k'
                              (api-block/get-db-ident-for-user-property-name k prefix))
+                       name (or (:name opts) (some-> k (name)))
                        schema (or (some-> schema (bean/->clj)
                                           (update-keys #(if (contains? #{:hide :public} %)
                                                           (keyword (str (name %) "?")) %))) {})
@@ -929,7 +929,8 @@
                        p (db-property-handler/upsert-property! k schema
                                                                (cond-> opts
                                                                  name
-                                                                 (assoc :property-name name)))]
+                                                                 (assoc :property-name name)))
+                       p (db-utils/pull (:db/id p))]
                  (bean/->js (sdk-utils/normalize-keyword-for-json p)))))))
 
 (defn ^:export remove_property