|
86 | 86 | (string/lower-case))
|
87 | 87 | k))
|
88 | 88 |
|
89 |
| -(defn- encode-user-property-name |
90 |
| - [k] |
91 |
| - (when (string? k) |
92 |
| - (-> k (string/trim) |
93 |
| - (string/replace "/" "") |
94 |
| - (string/replace " " "")))) |
95 |
| - |
96 | 89 | ;; helpers
|
97 | 90 | (defn ^:export install-plugin-hook
|
98 | 91 | [pid hook ^js opts]
|
|
850 | 843 | (editor-handler/expand-block! block-uuid))
|
851 | 844 | nil)))))
|
852 | 845 |
|
853 |
| -(defn convert?to-built-in-property-name |
854 |
| - [property-name] |
855 |
| - (if (and (not (qualified-keyword? property-name)) |
856 |
| - (contains? #{:background-color} property-name)) |
857 |
| - (keyword :logseq.property property-name) |
858 |
| - property-name)) |
859 |
| - |
860 |
| -;; FIXME: This ns should not be creating idents. This allows for ident conflicts |
861 |
| -;; and assumes that names directly map to idents which is incorrect and breaks for multiple |
862 |
| -;; cases e.g. a property that has been renamed or sanitized. Instead it should |
863 |
| -;; find a property's ident by looking up the property in the db by its title |
864 |
| -(defn get-db-ident-for-property-name |
865 |
| - "Finds a property :db/ident for a given property name" |
866 |
| - [property-name] |
867 |
| - (let [property-name' (if (string? property-name) |
868 |
| - (keyword property-name) property-name) |
869 |
| - property-name' (convert?to-built-in-property-name property-name')] |
870 |
| - (if (qualified-keyword? property-name') |
871 |
| - property-name' |
872 |
| - (keyword "plugin.property" (encode-user-property-name property-name))))) |
873 |
| - |
874 | 846 | ;; properties (db only)
|
875 | 847 | (defn ^:export get_property
|
876 | 848 | [k]
|
877 | 849 | (when-let [k' (and (string? k) (some-> k (sanitize-user-property-name) (keyword)))]
|
878 |
| - (p/let [k (if (qualified-keyword? k') k' (get-db-ident-for-property-name k)) |
| 850 | + (p/let [k (if (qualified-keyword? k') k' (api-block/get-db-ident-for-user-property-name k)) |
879 | 851 | p (db-utils/pull k)]
|
880 | 852 | (bean/->js (sdk-utils/normalize-keyword-for-json p)))))
|
881 | 853 |
|
|
892 | 864 | (p/let [opts (or (some-> opts (bean/->clj)) {})
|
893 | 865 | name (or (:name opts) (some-> (str k) (string/trim)))
|
894 | 866 | k (if (qualified-keyword? k') k'
|
895 |
| - (get-db-ident-for-property-name k)) |
| 867 | + (api-block/get-db-ident-for-user-property-name k)) |
896 | 868 | schema (or (some-> schema (bean/->clj)
|
897 | 869 | (update-keys #(if (contains? #{:hide :public} %)
|
898 | 870 | (keyword (str (name %) "?")) %))) {})
|
|
915 | 887 | _ (db-async/<get-block repo block-uuid :children? false)
|
916 | 888 | db? (config/db-based-graph? repo)
|
917 | 889 | key (-> (if (keyword? key) (name keyname) keyname) (util/safe-lower-case))
|
918 |
| - key (if db? (get-db-ident-for-property-name key) key) |
| 890 | + key (if db? (api-block/get-db-ident-for-user-property-name key) key) |
919 | 891 | _ (when (and db? (not (db-utils/entity key)))
|
920 | 892 | (db-property-handler/upsert-property! key {} {:property-name keyname}))]
|
921 | 893 | (property-handler/set-block-property! repo block-uuid key value))))
|
|
928 | 900 | db? (config/db-based-graph? (state/get-current-repo))
|
929 | 901 | key-ns? (and (keyword? key) (namespace key))
|
930 | 902 | key (if key-ns? key (-> (if (keyword? key) (name key) key) (util/safe-lower-case)))
|
931 |
| - key (if (and db? (not key-ns?)) (get-db-ident-for-property-name key) key)] |
| 903 | + key (if (and db? (not key-ns?)) (api-block/get-db-ident-for-user-property-name key) key)] |
932 | 904 | (property-handler/remove-block-property!
|
933 | 905 | (state/get-current-repo)
|
934 | 906 | block-uuid key))))
|
|
943 | 915 | property-name (-> (if (keyword? key) (name key) key) (util/safe-lower-case))
|
944 | 916 | property-value (or (get properties key)
|
945 | 917 | (get properties (keyword property-name))
|
946 |
| - (get properties (get-db-ident-for-property-name property-name))) |
| 918 | + (get properties (api-block/get-db-ident-for-user-property-name property-name))) |
947 | 919 | property-value (if-let [property-id (:db/id property-value)]
|
948 | 920 | (db/pull property-id) property-value)
|
949 | 921 | ret (sdk-utils/normalize-keyword-for-json property-value)]
|
|
0 commit comments