added new fields.
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
[auto-ap.datomic.migrate.add-general-ledger :as add-general-ledger]
|
||||
[auto-ap.datomic.migrate.ledger :as ledger]
|
||||
[auto-ap.datomic.migrate.sales :as sales]
|
||||
[auto-ap.datomic.migrate.vendors :as vendors]
|
||||
[auto-ap.datomic.migrate.clients :as clients]
|
||||
[auto-ap.datomic.migrate.audit :as audit]
|
||||
[auto-ap.datomic.migrate.yodlee2 :as yodlee2]
|
||||
@@ -339,7 +340,10 @@
|
||||
clients/norms-map
|
||||
ledger/norms-map
|
||||
yodlee2/norms-map
|
||||
audit/norms-map)
|
||||
audit/norms-map
|
||||
|
||||
vendors/norms-map
|
||||
)
|
||||
]
|
||||
(println "Conforming database...")
|
||||
(c/ensure-conforms conn norms-map)
|
||||
|
||||
44
src/clj/auto_ap/datomic/migrate/vendors.clj
Normal file
44
src/clj/auto_ap/datomic/migrate/vendors.clj
Normal file
@@ -0,0 +1,44 @@
|
||||
(ns auto-ap.datomic.migrate.vendors
|
||||
(:require [datomic.api :as d]
|
||||
[auto-ap.datomic :refer [uri]]))
|
||||
|
||||
(def norms-map {:add-1099-stuff {:txes [[{:db/ident :vendor/legal-entity-first-name
|
||||
:db/doc "The first name for the legal entity"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :vendor/legal-entity-middle-name
|
||||
:db/doc "The first name for the legal entity"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :vendor/legal-entity-last-name
|
||||
:db/doc "The first name for the legal entity"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :vendor/legal-entity-tin
|
||||
:db/doc "The ssn or ein for the legal entity"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :vendor/legal-entity-tin-type
|
||||
:db/doc "The ssn or ein for the legal entity"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :vendor/legal-entity-1099-type
|
||||
:db/doc "The ssn or ein for the legal entity"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}]]}
|
||||
:add-1099-enums {:txes [[{:db/ident :legal-entity-tin-type/ssn}
|
||||
{:db/ident :legal-entity-tin-type/ein}
|
||||
|
||||
{:db/ident :legal-entity-1099-type/none}
|
||||
{:db/ident :legal-entity-1099-type/misc}
|
||||
{:db/ident :legal-entity-1099-type/landlord}]]}})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,11 @@
|
||||
[auto-ap.graphql.utils :refer [limited-clients ]]
|
||||
|
||||
[auto-ap.datomic :refer [uri conn merge-query]]))
|
||||
(defn <-datomic [a]
|
||||
(cond-> a
|
||||
(:vendor/legal-entity-tin-type a) (update :vendor/legal-entity-tin-type :db/ident)
|
||||
(:vendor/legal-entity-1099-type a) (update :vendor/legal-entity-1099-type :db/ident)))
|
||||
|
||||
(defn cleanse [id vendor]
|
||||
(let [clients (if-let [clients (limited-clients id)]
|
||||
(set (map :db/id clients))
|
||||
@@ -20,6 +25,8 @@
|
||||
:vendor/terms-overrides [* {:vendor-terms-override/client [:client/name :client/code :db/id]}]
|
||||
:vendor/schedule-payment-dom [* {:vendor-schedule-payment-dom/client [:client/name :client/code :db/id]}]
|
||||
:vendor/automatically-paid-when-due [:db/id :client/name]
|
||||
:vendor/legal-entity-tin-type [:db/ident :db/id]
|
||||
:vendor/legal-entity-1099-type [:db/ident :db/id]
|
||||
:vendor/default-account [:db/id :account/numeric-code :account/name]}])
|
||||
|
||||
(defn get-usages [args]
|
||||
@@ -57,12 +64,15 @@
|
||||
(d/query)
|
||||
(map first)
|
||||
(map #(cleanse (:id args) %))
|
||||
(map <-datomic)
|
||||
(map #(assoc % :usage (get usages (:db/id %)))))))
|
||||
|
||||
(defn get-by-id [id]
|
||||
|
||||
(->> (d/q '[:find (pull ?e [*
|
||||
{:default-account [:account/name :db/id :account/location]
|
||||
:vendor/legal-entity-tin-type [:db/ident :db/id]
|
||||
:vendor/legal-entity-1099-type [:db/ident :db/id]
|
||||
:vendor/account-overrides [* {:vendor-account-override/client [:client/name :db/id]
|
||||
:vendor-account-override/account [:account/name :account/numeric-code :db/id]}]
|
||||
:vendor/terms-overrides [* {:vendor-terms-override/client [:client/name :db/id]}]
|
||||
@@ -73,6 +83,7 @@
|
||||
(d/db (d/connect uri))
|
||||
id)
|
||||
(map first)
|
||||
(map <-datomic)
|
||||
(first)))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user