|
|
|
@ -101,16 +101,22 @@
|
|
|
|
|
ON MATCH SET p.updated_at = {now},
|
|
|
|
|
p.value = {value}")
|
|
|
|
|
|
|
|
|
|
(defn instance->prop-tuples [instance]
|
|
|
|
|
(map (fn [prop]
|
|
|
|
|
(let [prop-uuid (:uuid prop)
|
|
|
|
|
uuid (if (empty? prop-uuid)
|
|
|
|
|
(neo4j/uuid)
|
|
|
|
|
prop-uuid)]
|
|
|
|
|
[edit-property
|
|
|
|
|
{:uuid uuid
|
|
|
|
|
:now (neo4j/now-str)
|
|
|
|
|
:value (:value prop)
|
|
|
|
|
:instance_uuid (:uuid instance)
|
|
|
|
|
:attribute_uuid (-> prop :attribute :uuid)}]))
|
|
|
|
|
(:properties instance)))
|
|
|
|
|
|
|
|
|
|
(defn edit! [instance]
|
|
|
|
|
(let [prop-tuples (map #(vector edit-property
|
|
|
|
|
{:uuid (if (empty? (:uuid %))
|
|
|
|
|
(neo4j/uuid)
|
|
|
|
|
(:uuid %))
|
|
|
|
|
:now (neo4j/now-str)
|
|
|
|
|
:value (:value %)
|
|
|
|
|
:instance_uuid (:uuid instance)
|
|
|
|
|
:attribute_uuid (-> % :attribute :uuid)})
|
|
|
|
|
(:properties instance))]
|
|
|
|
|
(let [prop-tuples (instance->prop-tuples instance)]
|
|
|
|
|
(apply neo4j/exec-queries!
|
|
|
|
|
(concat [[edit-instance
|
|
|
|
|
{:uuid (:uuid instance)
|
|
|
|
|