mirror of
https://github.com/penpot/penpot.git
synced 2025-07-08 01:47:16 +02:00
✨ Improve pages fetching on dashboard.
This commit is contained in:
parent
426677935e
commit
761a3c102f
4 changed files with 14 additions and 14 deletions
|
@ -59,8 +59,8 @@
|
|||
;; --- Pages creation
|
||||
|
||||
(def create-page-sql
|
||||
"insert into pages (id, user_id, project_id, name, data, metadata)
|
||||
values ($1, $2, $3, $4, $5, $6)
|
||||
"insert into pages (id, user_id, project_id, name, ordering, data, metadata)
|
||||
values ($1, $2, $3, $4, $5, $6, $7)
|
||||
returning *;")
|
||||
|
||||
(defn create-page
|
||||
|
@ -79,6 +79,7 @@
|
|||
(mk-uuid "user" uid)
|
||||
(mk-uuid "project" pjid uid)
|
||||
(str "page " paid)
|
||||
paid
|
||||
(blob/encode data)
|
||||
(blob/encode {})])))
|
||||
|
||||
|
|
|
@ -36,15 +36,19 @@
|
|||
[{:keys [user] :as params}]
|
||||
(let [sql "select distinct on (p.id, p.created_at)
|
||||
p.*,
|
||||
first_value(pg.id)
|
||||
over (partition by p.id order by pg.created_at)
|
||||
as ref_page_id
|
||||
array_agg(pg.id) over (
|
||||
partition by p.id
|
||||
order by pg.created_at
|
||||
range between unbounded preceding and unbounded following
|
||||
) as pages
|
||||
from projects as p
|
||||
right join pages as pg
|
||||
on (pg.project_id = p.id)
|
||||
where p.user_id = $1
|
||||
order by p.created_at asc"]
|
||||
(db/query db/pool [sql user])))
|
||||
(-> (db/query db/pool [sql user])
|
||||
(p/then (fn [rows]
|
||||
(mapv #(update % :pages vec) rows))))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Mutations
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue