more conversion to datomic
This commit is contained in:
@@ -1,31 +1,40 @@
|
||||
(ns auto-ap.datomic.checks
|
||||
(:require [datomic.api :as d]
|
||||
[auto-ap.datomic :refer [uri]]
|
||||
[clojure.set :refer [rename-keys]]
|
||||
[clj-time.coerce :as c]))
|
||||
|
||||
(defn add-arg [query name value where]
|
||||
(-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where)))
|
||||
(defn add-arg [query name value where & rest]
|
||||
(let [query (-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where))]
|
||||
(reduce #(update-in %1 [:query :where] conj %2) query rest)))
|
||||
|
||||
(defn raw-graphql [args]
|
||||
(->> (d/query
|
||||
(cond-> {:query {:find ['(pull ?e [*
|
||||
{:payment/client [:client/name :db/id]}
|
||||
{:payment/vendor [:vendor/name :db/id]}
|
||||
{:payment/status [:db/ident]}])]
|
||||
:in ['$]
|
||||
:where ['[?e :payment/original-id]]}
|
||||
:args [(d/db (d/connect uri))]}
|
||||
(let [query (cond-> {:query {:find ['(pull ?e [*
|
||||
{:invoice-payment/_payment [* {:invoice-payment/invoice [*]}]}
|
||||
{:payment/client [:client/name :db/id]}
|
||||
{:payment/vendor [:vendor/name :db/id]}
|
||||
{:payment/status [:db/ident]}])]
|
||||
:in ['$]
|
||||
:where ['[?e :payment/original-id]]}
|
||||
:args [(d/db (d/connect uri))]}
|
||||
|
||||
(:company-id args) (add-arg '?company-id (Long/parseLong (:company-id args))
|
||||
'[?e :payment/client ?company-id])))
|
||||
(map first)
|
||||
|
||||
(map #(update % :payment/date c/from-date))
|
||||
(map #(update % :payment/status :db/ident))
|
||||
#_(map #(update % :transaction/post-date c/from-date))))
|
||||
(:client-id args) (add-arg '?client-id (cond-> (:client-id args) (string? (:client-id args)) Long/parseLong )
|
||||
'[?e :payment/client ?client-id])
|
||||
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
|
||||
'[?e :payment/client ?c]
|
||||
'[?c :client/original-id ?original-id]))]
|
||||
|
||||
(->> (d/query
|
||||
query)
|
||||
(map first)
|
||||
|
||||
(map #(update % :payment/date c/from-date))
|
||||
(map #(update % :payment/status :db/ident))
|
||||
(map #(rename-keys % {:invoice-payment/_payment :payments/invoices}))
|
||||
#_(map #(update % :transaction/post-date c/from-date)))))
|
||||
|
||||
(defn sort-fn [args]
|
||||
(cond
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
[clj-time.coerce :as c]
|
||||
[clojure.set :refer [rename-keys]]))
|
||||
|
||||
(defn add-arg [query name value where]
|
||||
(-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where)))
|
||||
(defn add-arg [query name value where & rest]
|
||||
(let [query (-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where))]
|
||||
(reduce #(update-in %1 [:query :where] conj %2) query rest)))
|
||||
|
||||
(defn raw-graphql [args]
|
||||
(->> (d/query
|
||||
@@ -23,8 +24,14 @@
|
||||
:args [(d/db (d/connect uri))]}
|
||||
println)
|
||||
|
||||
(:client-id args) (add-arg '?client-id (Long/parseLong (:client-id args))
|
||||
'[?e :invoice/client ?client-id])
|
||||
(:client-id args) (add-arg '?client-id (cond-> (:client-id args)
|
||||
(string? (:client-id args))
|
||||
Long/parseLong)
|
||||
'[?e :invoice/client ?client-id])
|
||||
|
||||
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
|
||||
'[?e :invoice/client ?c]
|
||||
'[?c :client/original-id ?original-id])
|
||||
(:status args) (add-arg '?status (keyword "invoice-status" (:status args))
|
||||
'[?e :invoice/status ?status])))
|
||||
(map first)
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
[auto-ap.datomic :refer [uri]]
|
||||
[clj-time.coerce :as c]))
|
||||
|
||||
(defn add-arg [query name value where]
|
||||
(-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where)))
|
||||
(defn add-arg [query name value where & rest]
|
||||
(let [query (-> query
|
||||
(update :args conj value)
|
||||
(update-in [:query :in] conj name)
|
||||
(update-in [:query :where] conj where))]
|
||||
(reduce #(update-in %1 [:query :where] conj %2) query rest)))
|
||||
|
||||
|
||||
(defn raw-graphql [args]
|
||||
(->> (d/query
|
||||
@@ -16,8 +18,11 @@
|
||||
:where ['[?e :transaction/original-id]]}
|
||||
:args [(d/db (d/connect uri))]}
|
||||
|
||||
(:company-id args) (add-arg '?company-id (Long/parseLong (:company-id args))
|
||||
'[?e :transaction/client ?company-id])))
|
||||
(:client-id args) (add-arg '?client-id (Long/parseLong (:client-id args))
|
||||
'[?e :transaction/client ?client-id])
|
||||
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
|
||||
'[?e :transaction/client ?c]
|
||||
'[?c :client/original-id ?original-id])))
|
||||
(map first)
|
||||
|
||||
(map #(update % :transaction/date c/from-date))
|
||||
|
||||
Reference in New Issue
Block a user