🎉 Add new dashboard libraries screen

This commit is contained in:
Andrés Moya 2022-08-18 17:18:06 +02:00
parent f0e521b8d5
commit 5a0ec9525b
4 changed files with 204 additions and 13 deletions

View file

@ -402,6 +402,7 @@
(def ^:private sql:team-shared-files
"select f.id,
f.revn,
f.data,
f.project_id,
f.created_at,
f.modified_at,
@ -420,7 +421,28 @@
(sv/defmethod ::team-shared-files
[{:keys [pool] :as cfg} {:keys [team-id] :as params}]
(db/exec! pool [sql:team-shared-files team-id]))
(let [assets-sample
(fn [assets limit]
(let [sorted-assets (->> assets
(vals)
(vec)
(sort-by #(str/lower (:name %))))]
{:count (count sorted-assets)
:sample (take limit sorted-assets)}))
library-summary
(fn [data]
{:components (assets-sample (:components data) 4)
:colors (assets-sample (:colors data) 3)
:typographies (assets-sample (:typographies data) 3)})
xform (comp
(map decode-row)
(map #(assoc % :library-summary (library-summary (:data %))))
(map #(dissoc % :data)))]
(into #{} xform (db/exec! pool [sql:team-shared-files team-id]))))
;; --- Query: File Libraries used by a File