Added regex testing
This commit is contained in:
@@ -40,7 +40,8 @@
|
|||||||
:serialize (schema/as-conformer #(or (:ident %) (:db/ident %) %))}
|
:serialize (schema/as-conformer #(or (:ident %) (:db/ident %) %))}
|
||||||
:iso_date {:parse (schema/as-conformer #(time/parse % time/iso-date))
|
:iso_date {:parse (schema/as-conformer #(time/parse % time/iso-date))
|
||||||
:serialize (schema/as-conformer #(time/unparse % time/iso-date))}
|
:serialize (schema/as-conformer #(time/unparse % time/iso-date))}
|
||||||
:money {:parse (schema/as-conformer #(if (string? %)
|
:money {:parse (schema/as-conformer #(if (and (string? %)
|
||||||
|
(not (str/blank? %)))
|
||||||
(Double/parseDouble %)
|
(Double/parseDouble %)
|
||||||
%))
|
%))
|
||||||
:serialize (schema/as-conformer #(if (double? %)
|
:serialize (schema/as-conformer #(if (double? %)
|
||||||
|
|||||||
@@ -28,6 +28,9 @@
|
|||||||
id))
|
id))
|
||||||
(->graphql))))
|
(->graphql))))
|
||||||
|
|
||||||
|
(defn tr [z x]
|
||||||
|
(re-find (re-pattern z) x))
|
||||||
|
|
||||||
(defn test-transaction-rule [{:keys [id]} {{:keys [description note client_id bank_account_id amount_lte amount_gte ]} :transaction_rule :as z} value]
|
(defn test-transaction-rule [{:keys [id]} {{:keys [description note client_id bank_account_id amount_lte amount_gte ]} :transaction_rule :as z} value]
|
||||||
(->>
|
(->>
|
||||||
(d/query
|
(d/query
|
||||||
@@ -48,6 +51,24 @@
|
|||||||
:where ['[?e :transaction/bank-account ?bank-account-id]]}
|
:where ['[?e :transaction/bank-account ?bank-account-id]]}
|
||||||
:args [bank_account_id]})
|
:args [bank_account_id]})
|
||||||
|
|
||||||
|
description
|
||||||
|
(merge-query {:query {:in ['?description-regex]
|
||||||
|
:where ['[?e :transaction/description-original ?do]
|
||||||
|
'[(re-find ?description-regex ?do)]]}
|
||||||
|
:args [(re-pattern description)]})
|
||||||
|
|
||||||
|
amount_gte
|
||||||
|
(merge-query {:query {:in ['?amount-gte]
|
||||||
|
:where ['[?e :transaction/amount ?ta]
|
||||||
|
'[(>= ?ta ?amount-gte)]]}
|
||||||
|
:args [amount_gte]})
|
||||||
|
|
||||||
|
amount_lte
|
||||||
|
(merge-query {:query {:in ['?amount-lte]
|
||||||
|
:where ['[?e :transaction/amount ?ta]
|
||||||
|
'[(<= ?ta ?amount-lte)]]}
|
||||||
|
:args [amount_lte]})
|
||||||
|
|
||||||
client_id
|
client_id
|
||||||
(merge-query {:query {:in ['?client-id]
|
(merge-query {:query {:in ['?client-id]
|
||||||
:where ['[?e :transaction/client ?client-id]]}
|
:where ['[?e :transaction/client ?client-id]]}
|
||||||
@@ -60,5 +81,4 @@
|
|||||||
(map (fn [x]
|
(map (fn [x]
|
||||||
(update x :transaction/date c/from-date)))
|
(update x :transaction/date c/from-date)))
|
||||||
(map ->graphql))
|
(map ->graphql))
|
||||||
conj
|
conj [])))
|
||||||
[])))
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@
|
|||||||
:field [:bank-account]
|
:field [:bank-account]
|
||||||
:spec ::entity/bank-account}]]
|
:spec ::entity/bank-account}]]
|
||||||
|
|
||||||
[field "Description"
|
[field [:span "Description (" [:a {:href "https://regex101.com" :target "_new"} "regex tester"] ")" ]
|
||||||
[:input.input {:type "text"
|
[:input.input {:type "text"
|
||||||
:field [:description]
|
:field [:description]
|
||||||
:spec ::entity/description}]]
|
:spec ::entity/description}]]
|
||||||
|
|||||||
@@ -200,7 +200,10 @@
|
|||||||
(.preventDefault e)
|
(.preventDefault e)
|
||||||
(re-frame/dispatch (-> event
|
(re-frame/dispatch (-> event
|
||||||
(conj field)
|
(conj field)
|
||||||
(conj (js/parseFloat (.. e -target -value))))))
|
(conj (let [val (.. e -target -value)]
|
||||||
|
(if (and val (not (str/blank? val)))
|
||||||
|
(js/parseFloat val)
|
||||||
|
val))))))
|
||||||
:value (get-in subscription field)
|
:value (get-in subscription field)
|
||||||
|
|
||||||
:class (str class
|
:class (str class
|
||||||
|
|||||||
Reference in New Issue
Block a user