more conversion to datomic

This commit is contained in:
Bryce Covert
2018-08-16 08:23:44 -07:00
parent 0741b27239
commit a4e3fe2327
7 changed files with 114 additions and 103 deletions

View File

@@ -4,12 +4,15 @@
[auto-ap.db.checks :as checks]
[auto-ap.db.transactions :as transactions]
[auto-ap.db.companies :as companies]
[auto-ap.datomic.clients :as d-clients]
[auto-ap.datomic.vendors :as d-vendors]
[auto-ap.datomic.transactions :as d-transactions]
[auto-ap.db.vendors :as vendors]
[auto-ap.db.utils :refer [query]]
[auto-ap.utils :refer [by]]
[auto-ap.parse :as parse]
[auto-ap.graphql :as graphql]
[auto-ap.graphql.utils :refer [->graphql assert-admin]]
[auto-ap.graphql.utils :refer [<-graphql ->graphql assert-admin]]
[auto-ap.routes.utils :refer [wrap-secure]]
[clj-time.coerce :refer [to-date]]
[auto-ap.db.invoices-expense-accounts :as expense-accounts]
@@ -25,39 +28,42 @@
(GET "/invoices/export" {:keys [query-params identity] :as request}
(assert-admin identity)
(let [query [[:all_invoices
{:company-id (query-params "company")}
{:client-id (query-params "client")
:original-id (query-params "original")}
[:id :total :outstanding-balance :invoice-number :date
[:checks [:amount [:check [:check-number :memo [:bank_account [:id :number :bank-name :bank-code]]]]]]
[:vendor [:name :id :primary_contact [:address [:street1 :city :state :zip]]]]
[:payments [:amount [:payment [:check-number :memo [:bank_account [:id :number :bank-name :bank-code]]]]]]
[:vendor [:name :id [:primary_contact [:name]] [:address [:street1 :city :state :zip]]]]
[:expense_accounts [:amount :id :expense_account_id :location
[:expense_account [:id :name [:parent [:id :name]]]]]]
[:company [:name :id :locations]]]]]
[:client [:name :id :locations]]]]]
invoices (graphql/query identity (venia/graphql-query {:venia/queries (->graphql query)}))]
(list (:all-invoices (:data invoices)))))
(GET "/checks/export" {:keys [query-params identity]}
(GET "/payments/export" {:keys [query-params identity]}
(assert-admin identity)
(let [query [[:all_checks
{:company-id (query-params "company")}
(let [query [[:all_payments
{:client-id (query-params "client")
:original-id (query-params "original")}
[:id :check-number :amount :memo :date
[:invoices [:invoice-id :amount]]
[:invoices [[:invoice [:id]] :amount]]
[:bank-account [:number :bank-name :bank-code :id]]
[:vendor [:name :id :primary-contact :primary-email :primary-phone :default-expense-account [:address [:street1 :city :state :zip]]]]
[:company [:id :name]]
[:vendor [:name :id [:primary-contact [:name :email :phone]] :default-expense-account [:address [:street1 :city :state :zip]]]]
[:client [:id :name]]
]]]
checks (graphql/query identity (venia/graphql-query {:venia/queries (->graphql query)}))]
(list (:all-checks (:data checks)))))
payments (graphql/query identity (venia/graphql-query {:venia/queries (->graphql query)}))]
(list (:all-payments (:data payments)))))
(GET "/companies/export" {:keys [query-params identity]}
(GET "/clients/export" {:keys [query-params identity]}
(assert-admin identity)
(companies/get-all))
(map <-graphql (d-clients/get-all)))
(GET "/vendors/export" {:keys [query-params identity]}
(assert-admin identity)
(vendors/get-all))
(map <-graphql (d-vendors/get-graphql {})))
(GET "/transactions/export" {:keys [query-params identity]}
(assert-admin identity)
(let [transactions (transactions/get-graphql {:company-id (Integer/parseInt (query-params "company"))
:limit Integer/MAX_VALUE})]
(let [transactions (map <-graphql (d-transactions/get-graphql {:client-id (query-params "client")
:original-id (Integer/parseInt (query-params "original"))
:limit Integer/MAX_VALUE}))]
(map (fn [i]
(-> i
(update :date to-date)