fixed common errors.

This commit is contained in:
Bryce Covert
2022-12-31 09:37:08 -08:00
parent 98eeb223f4
commit 0f062e0236
4 changed files with 118 additions and 105 deletions

View File

@@ -79,40 +79,42 @@
second
(not-empty )
Integer/parseInt)]
(if num
(->> (d/q '[:find ?n (pull ?i [:db/id :account/numeric-code :account/location])
:in $ ?numeric-code
:where [?i :account/numeric-code ?numeric-code]
[?i :account/name ?n]]
(d/db conn)
num)
(map (fn [[n a]]
{:name (str (:account/numeric-code a) " - " n)
:id (:db/id a)
:location (:account/location a)})))
(if query
(if num
(->> (d/q '[:find ?n (pull ?i [:db/id :account/numeric-code :account/location])
:in $ ?numeric-code
:where [?i :account/numeric-code ?numeric-code]
[?i :account/name ?n]]
(d/db conn)
num)
(map (fn [[n a]]
{:name (str (:account/numeric-code a) " - " n)
:id (:db/id a)
:location (:account/location a)})))
(->> (d/q '[:find ?n (pull ?i [:db/id :account/numeric-code :account/location]) ?s
:in $ ?q
:where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]]
[?i :account/numeric-code ?numeric-code]
(or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional])]
(d/db conn)
query)
(concat (when client
(d/q '[:find ?n (pull ?a [:db/id :account/numeric-code :account/location]) ?s
:in $ ?c ?q
:where
[?i :account-client-override/client ?c]
[(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]]
[?a :account/client-overrides ?i]
[?a :account/numeric-code ?numeric-code]]
(d/db conn)
client
query)))
(sort-by (comp - last))
(map (fn [[n a]]
{:name (str (:account/numeric-code a) " - " n)
:id (:db/id a)
:location (:account/location a)}))))))
(->> (d/q '[:find ?n (pull ?i [:db/id :account/numeric-code :account/location]) ?s
:in $ ?q
:where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]]
[?i :account/numeric-code ?numeric-code]
(or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional])]
(d/db conn)
query)
(concat (when client
(d/q '[:find ?n (pull ?a [:db/id :account/numeric-code :account/location]) ?s
:in $ ?c ?q
:where
[?i :account-client-override/client ?c]
[(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]]
[?a :account/client-overrides ?i]
[?a :account/numeric-code ?numeric-code]]
(d/db conn)
client
query)))
(sort-by (comp - last))
(map (fn [[n a]]
{:name (str (:account/numeric-code a) " - " n)
:id (:db/id a)
:location (:account/location a)}))))
[])))

View File

@@ -128,12 +128,15 @@
(if (str/includes? q "&")
(str "\"" q "\"~0.8")
(let [parts (-> q
(str/replace #"[\[\]\+\*\-]" "")
(str/split #"\s+"))
(str/replace #"[\[\]\+\*\-\?]" "")
(str/split #"\s+"))
exacts (butlast parts)
partial (last parts)]
(as-> exacts e
(mapv #(str "+" %) e)
(conj e (str partial "*"))
(str/join " " e)))))
partial (some-> (last parts)
not-empty
(str "*"))
query (as-> exacts e
(filter #(not (str/blank? %)) e)
(mapv #(str "+" %) e)
(conj e partial)
(str/join " " e))]
(not-empty query))))

View File

@@ -182,22 +182,23 @@
matches))
(defn search [context args _]
(let [search-query (cleanse-query (:query args))
data (if (is-admin? (:id context))
(d/q '[:find ?n ?i ?s
:in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]]
(d/db conn)
search-query)
(d/q '[:find ?n ?i ?s
:in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]
(not [?i :vendor/hidden true])]
(d/db conn)
search-query))]
(->> data
(sort-by (comp - last))
(partial-match-first (:query args))
(map (fn [[n i]]
{:name n
:id i})))))
(if-let [search-query (cleanse-query (:query args))]
(let [data (if (is-admin? (:id context))
(d/q '[:find ?n ?i ?s
:in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]]
(d/db conn)
search-query)
(d/q '[:find ?n ?i ?s
:in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]
(not [?i :vendor/hidden true])]
(d/db conn)
search-query))]
(->> data
(sort-by (comp - last))
(partial-match-first (:query args))
(map (fn [[n i]]
{:name n
:id i}))))
[]))