mirror of
https://github.com/penpot/penpot.git
synced 2025-08-06 14:38:27 +02:00
More improvements to validation api.
This commit is contained in:
parent
58444fd363
commit
a264cea1d6
2 changed files with 20 additions and 12 deletions
|
@ -172,15 +172,18 @@
|
||||||
(rx/catch on-failure)))))
|
(rx/catch on-failure)))))
|
||||||
|
|
||||||
(def ^:private update-page-schema
|
(def ^:private update-page-schema
|
||||||
{:name [sc/required sc/string]
|
{:id [sc/required]
|
||||||
|
:project [sc/required]
|
||||||
|
:version [sc/required]
|
||||||
|
:name [sc/required sc/string]
|
||||||
:width [sc/required sc/integer]
|
:width [sc/required sc/integer]
|
||||||
:height [sc/required sc/integer]
|
:height [sc/required sc/integer]
|
||||||
:layout [sc/required sc/string]})
|
:layout [sc/required sc/string]})
|
||||||
|
|
||||||
(defn update-page-metadata
|
(defn update-page-metadata
|
||||||
[data]
|
[data]
|
||||||
(-> (sc/validate! data update-page-schema)
|
(-> (sc/validate! data update-page-schema {:strip false})
|
||||||
(dissoc :data)
|
(dissoc data :data)
|
||||||
(map->UpdatePageMetadata)))
|
(map->UpdatePageMetadata)))
|
||||||
|
|
||||||
;; --- Delete Page (by id)
|
;; --- Delete Page (by id)
|
||||||
|
|
|
@ -70,17 +70,22 @@
|
||||||
:validate #(shape? %)})
|
:validate #(shape? %)})
|
||||||
|
|
||||||
(defn validate
|
(defn validate
|
||||||
[data schema]
|
([data schema]
|
||||||
(let [opts {:strip true
|
(validate data schema nil))
|
||||||
:translate tr}]
|
([data schema opts]
|
||||||
(st/validate data schema opts)))
|
(let [opts (merge {:strip true
|
||||||
|
:translate tr}
|
||||||
|
opts)]
|
||||||
|
(st/validate data schema opts))))
|
||||||
|
|
||||||
(defn validate!
|
(defn validate!
|
||||||
[data schema]
|
([data schema]
|
||||||
(let [[errors data] (validate data schema)]
|
(validate! data schema nil))
|
||||||
|
([data schema opts]
|
||||||
|
(let [[errors data] (validate data schema opts)]
|
||||||
(if errors
|
(if errors
|
||||||
(throw (ex-info "Invalid data" errors))
|
(throw (ex-info "Invalid data" errors))
|
||||||
data)))
|
data))))
|
||||||
|
|
||||||
(defn valid?
|
(defn valid?
|
||||||
[data schema]
|
[data schema]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue