0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-10 17:18:21 -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.main.repo.impl :refer (request send!)]
[uxbox.util.transit :as t])) [uxbox.util.transit :as t]))
(defn- decode-page (defn decode-page
[{:keys [data options] :as page}] [{:keys [data options] :as page}]
(merge page (merge page
(when data {:data (t/decode data)}) (when data {:data (t/decode data)})
(when options {:options (t/decode options)}))) (when options {:options (t/decode options)})))
(defn- decode-payload (defn decode-payload
[{:keys [payload] :as rsp}] [{:keys [payload] :as rsp}]
(if (sequential? payload) (if (sequential? payload)
(assoc rsp :payload (mapv decode-page payload)) (assoc rsp :payload (mapv decode-page payload))

View file

@ -8,6 +8,7 @@
"A main interface for access to remote resources." "A main interface for access to remote resources."
(:require [beicon.core :as rx] (:require [beicon.core :as rx]
[uxbox.config :refer (url)] [uxbox.config :refer (url)]
[uxbox.main.repo.pages :as pages]
[uxbox.main.repo.impl :refer (request send!)])) [uxbox.main.repo.impl :refer (request send!)]))
(defmethod request :fetch/projects (defmethod request :fetch/projects
@ -23,7 +24,11 @@
(defmethod request :fetch/project-by-token (defmethod request :fetch/project-by-token
[_ token] [_ token]
(let [url (str url "/projects-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 (defmethod request :create/project
[_ data] [_ data]