made it possible to change accounts.
This commit is contained in:
@@ -2,12 +2,17 @@
|
||||
(:require [datomic.api :as d]
|
||||
[auto-ap.graphql.utils :refer [->graphql]]
|
||||
[auto-ap.datomic :refer [uri merge-query]]))
|
||||
(defn <-datomic [a]
|
||||
(update a :account/applicability :db/ident))
|
||||
|
||||
(defn get-accounts
|
||||
([]
|
||||
(get-accounts {}))
|
||||
([args]
|
||||
(let [query (cond-> {:query {:find ['(pull ?e [* {:account/type [:db/ident :db/id]}])]
|
||||
(let [query (cond-> {:query {:find ['(pull ?e [* {:account/type [:db/ident :db/id]
|
||||
:account/applicability [:db/ident :db/id]
|
||||
:account/client-overrides [:account-client-override/name
|
||||
{:account-client-override/client [:db/id :client/name]}]}])]
|
||||
:in ['$]
|
||||
:where [['?e :account/name]]}
|
||||
:args [(d/db (d/connect uri))]}
|
||||
@@ -16,7 +21,21 @@
|
||||
:args [(:account-set args)]}))]
|
||||
(->>
|
||||
(d/query query)
|
||||
(map first)))))
|
||||
(map first)
|
||||
(map <-datomic)))))
|
||||
|
||||
(defn get-by-id [id]
|
||||
(let [query {:query {:find ['(pull ?e [* {:account/type [:db/ident :db/id]
|
||||
:account/applicability [:db/ident :db/id]
|
||||
:account/client-overrides [:account-client-override/name
|
||||
{:account-client-override/client [:db/id :client/name]}]}])]
|
||||
:in ['$ '?e]}
|
||||
:args [(d/db (d/connect uri) ) id]}]
|
||||
(->>
|
||||
(d/query query)
|
||||
(map first)
|
||||
(map <-datomic)
|
||||
first)))
|
||||
|
||||
(defn get-account-by-numeric-code-and-sets [numeric-code sets]
|
||||
(let [query (cond-> {:query {:find ['(pull ?e [* {:account/type [:db/ident :db/id]}])]
|
||||
@@ -26,6 +45,7 @@
|
||||
(->>
|
||||
(d/query query)
|
||||
(map first)
|
||||
(map <-datomic)
|
||||
(first))))
|
||||
|
||||
#_(get-account-by-numeric-code-and-sets 5110 nil)
|
||||
|
||||
@@ -192,7 +192,42 @@
|
||||
:db/doc "Overrides per-client"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/many}]]}
|
||||
:auto-ap/add-reset-rels {:txes-fn `reset-function}}]
|
||||
:auto-ap/add-reset-rels {:txes-fn `reset-function}
|
||||
:auto-ap/add-account-overrides {:txes [[{:db/ident :account/applicability
|
||||
:db/doc ":global, :optional :customized"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :account-applicability/global
|
||||
:db/doc "The account applies to all cutsomers"}
|
||||
|
||||
{:db/ident :account-applicability/optional
|
||||
:db/doc "This account is optional"}
|
||||
|
||||
{:db/ident :account-applicability/customized
|
||||
:db/doc "This account is customized per-customer"}
|
||||
|
||||
{:db/ident :account/client-overrides
|
||||
:db/doc "Customizations per customer"
|
||||
:db/valueType :db.type/ref
|
||||
:db/isComponent true
|
||||
:db/cardinality :db.cardinality/many}
|
||||
|
||||
|
||||
{:db/ident :account-client-override/client
|
||||
:db/doc "The client for the override"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :account-client-override/enabled
|
||||
:db/doc "Does this apply?"
|
||||
:db/valueType :db.type/boolean
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :account-client-override/name
|
||||
:db/doc "client override"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}]]} }]
|
||||
(println "Conforming database...")
|
||||
(c/ensure-conforms conn norms-map)
|
||||
(when (not (seq args))
|
||||
|
||||
Reference in New Issue
Block a user