0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-10 00:58:26 -05:00

Properly decode page data on project-by-share-token repo.

This commit is contained in:
Andrey Antukh 2016-07-09 21:30:49 +03:00
parent ad5095ce5d
commit 9b078e19a8
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95
2 changed files with 8 additions and 3 deletions

View file

@ -11,13 +11,13 @@
[uxbox.main.repo.impl :refer (request send!)]
[uxbox.util.transit :as t]))
(defn- decode-page
(defn decode-page
[{:keys [data options] :as page}]
(merge page
(when data {:data (t/decode data)})
(when options {:options (t/decode options)})))
(defn- decode-payload
(defn decode-payload
[{:keys [payload] :as rsp}]
(if (sequential? payload)
(assoc rsp :payload (mapv decode-page payload))

View file

@ -8,6 +8,7 @@
"A main interface for access to remote resources."
(:require [beicon.core :as rx]
[uxbox.config :refer (url)]
[uxbox.main.repo.pages :as pages]
[uxbox.main.repo.impl :refer (request send!)]))
(defmethod request :fetch/projects
@ -23,7 +24,11 @@
(defmethod request :fetch/project-by-token
[_ token]
(let [url (str url "/projects-by-token/" token)]
(send! {:url url :method :get})))
(->> (send! {:url url :method :get})
(rx/map (fn [response]
(update-in response [:payload :pages]
(fn [pages]
(mapv pages/decode-page pages))))))))
(defmethod request :create/project
[_ data]