Fixing database record creation issues.
This commit is contained in:
parent
5860a53abf
commit
0f9dc14ee4
|
@ -77,7 +77,18 @@
|
||||||
['request]
|
['request]
|
||||||
(list
|
(list
|
||||||
'let
|
'let
|
||||||
['params '(massage-params request)]
|
['params (list
|
||||||
|
'merge
|
||||||
|
(apply hash-map
|
||||||
|
(interleave
|
||||||
|
(map
|
||||||
|
#(keyword (column-name %))
|
||||||
|
(descendants-with-tag
|
||||||
|
(:entity query)
|
||||||
|
:property
|
||||||
|
#(not (= (-> % :attrs :required) "true"))))
|
||||||
|
(repeat nil)))
|
||||||
|
'(massage-params request))]
|
||||||
(list
|
(list
|
||||||
'valid-user-or-forbid
|
'valid-user-or-forbid
|
||||||
(list
|
(list
|
||||||
|
@ -86,8 +97,7 @@
|
||||||
'do-or-server-fail
|
'do-or-server-fail
|
||||||
(list
|
(list
|
||||||
(symbol (str "db/" (:name query)))
|
(symbol (str "db/" (:name query)))
|
||||||
'db/*db*
|
'db/*db* 'params)
|
||||||
'params)
|
|
||||||
(case (:type query)
|
(case (:type query)
|
||||||
:insert-1 201 ;; created
|
:insert-1 201 ;; created
|
||||||
:delete-1 204 ;; no content
|
:delete-1 204 ;; no content
|
||||||
|
@ -96,10 +106,13 @@
|
||||||
'params
|
'params
|
||||||
(set
|
(set
|
||||||
(map
|
(map
|
||||||
#(keyword (:name (:attrs %)))
|
#(keyword (column-name %))
|
||||||
(case (:type query)
|
(case (:type query)
|
||||||
(:insert-1 :update-1)
|
:insert-1
|
||||||
(-> query :entity insertable-properties)
|
(-> query :entity required-properties)
|
||||||
|
:update-1 (concat
|
||||||
|
(-> query :entity key-properties)
|
||||||
|
(-> query :entity required-properties))
|
||||||
(:select-1 :delete-1)
|
(:select-1 :delete-1)
|
||||||
(-> query :entity key-properties)
|
(-> query :entity key-properties)
|
||||||
;; default
|
;; default
|
||||||
|
|
Loading…
Reference in a new issue