🐛 Fix pointer-map support issue on get-team-shared-files RPC method

This commit is contained in:
Andrey Antukh 2022-12-27 14:30:03 +01:00 committed by Alejandro Alonso
parent 4164c8f012
commit e37fc00351

View file

@ -473,26 +473,23 @@
(defn get-team-shared-files (defn get-team-shared-files
[conn {:keys [team-id] :as params}] [conn {:keys [team-id] :as params}]
(let [assets-sample (letfn [(assets-sample [assets limit]
(fn [assets limit] (let [sorted-assets (->> (vals assets)
(let [sorted-assets (->> (vals assets) (sort-by #(str/lower (:name %))))]
(sort-by #(str/lower (:name %))))] {:count (count sorted-assets)
:sample (into [] (take limit sorted-assets))}))
{:count (count sorted-assets) (library-summary [{:keys [id data] :as file}]
:sample (into [] (take limit sorted-assets))})) (binding [pmap/*load-fn* (partial load-pointer conn id)]
{:components (assets-sample (:components data) 4)
:colors (assets-sample (:colors data) 3)
:typographies (assets-sample (:typographies data) 3)}))]
library-summary (->> (db/exec! conn [sql:team-shared-files team-id])
(fn [data] (into #{} (comp
{:components (assets-sample (:components data) 4) (map decode-row)
:colors (assets-sample (:colors data) 3) (map #(assoc % :library-summary (library-summary %)))
:typographies (assets-sample (:typographies data) 3)}) (map #(dissoc % :data)))))))
xform (comp
(map decode-row)
(map #(assoc % :library-summary (library-summary (:data %))))
(map #(dissoc % :data)))]
(into #{} xform (db/exec! conn [sql:team-shared-files team-id]))))
(s/def ::get-team-shared-files (s/def ::get-team-shared-files
(s/keys :req [::rpc/profile-id] :req-un [::team-id])) (s/keys :req [::rpc/profile-id] :req-un [::team-id]))