mirror of
https://github.com/penpot/penpot.git
synced 2025-07-19 08:07:13 +02:00
Import backend code inside the repository.
This commit is contained in:
parent
e21798f1ed
commit
de57630c14
113 changed files with 8040 additions and 0 deletions
89
backend/resources/sql/pages.sql
Normal file
89
backend/resources/sql/pages.sql
Normal file
|
@ -0,0 +1,89 @@
|
|||
-- :name create-page :<! :1
|
||||
insert into pages (id, "user", project, name, data, metadata)
|
||||
values (:id, :user, :project, :name, :data, :metadata)
|
||||
returning *;
|
||||
|
||||
-- :name update-page :<! :1
|
||||
update pages
|
||||
set name = :name,
|
||||
data = :data,
|
||||
version = :version,
|
||||
metadata = :metadata
|
||||
where id = :id
|
||||
and "user" = :user
|
||||
and deleted_at is null
|
||||
returning *;
|
||||
|
||||
-- :name update-page-metadata :<! :1
|
||||
update pages
|
||||
set name = :name,
|
||||
version = :version,
|
||||
metadata = :metadata
|
||||
where id = :id
|
||||
and "user" = :user
|
||||
and deleted_at is null
|
||||
returning *;
|
||||
|
||||
-- :name delete-page :! :n
|
||||
update pages
|
||||
set deleted_at = clock_timestamp()
|
||||
where id = :id
|
||||
and "user" = :user
|
||||
and deleted_at is null;
|
||||
|
||||
-- :name get-pages :? :*
|
||||
select pg.* from pages as pg
|
||||
where pg.user = :user
|
||||
and pg.deleted_at is null
|
||||
order by created_at asc;
|
||||
|
||||
-- :name get-page-by-id :? :1
|
||||
select pg.* from pages as pg
|
||||
where pg.id = :id
|
||||
and pg.deleted_at is null;
|
||||
|
||||
-- :name get-pages-for-user-and-project :? :*
|
||||
select pg.*,
|
||||
(row_number() OVER (order by created_at asc) -1) as index
|
||||
from pages as pg
|
||||
where pg.user = :user
|
||||
and pg.project = :project
|
||||
and pg.deleted_at is null
|
||||
order by pg.created_at asc;
|
||||
|
||||
-- :name get-pages-for-project :? :*
|
||||
select pg.*,
|
||||
(row_number() OVER (order by created_at asc) -1) as index
|
||||
from pages as pg
|
||||
where pg.project = :project
|
||||
and pg.deleted_at is null
|
||||
order by created_at asc;
|
||||
|
||||
-- :name create-page-history :! :n
|
||||
insert into page_history (id, "user", page, pinned, label, data, version);
|
||||
values (:id, :user, :page, :pinned :label, :data, :version);
|
||||
|
||||
-- :name get-page-history :? :*
|
||||
select ph.*
|
||||
from pages_history as ph
|
||||
where ph.user = :user
|
||||
and ph.page = :page
|
||||
and ph.version < :since
|
||||
--~ (when (:pinned params) "and ph.pinned = true")
|
||||
order by ph.version desc
|
||||
limit :max;
|
||||
|
||||
-- :name get-page-history-for-project :? :*
|
||||
select ph.*
|
||||
from pages_history as ph
|
||||
inner join pages as p
|
||||
on (p.id = ph.page)
|
||||
where p.project = :project;
|
||||
|
||||
-- :name update-page-history :? :*
|
||||
update pages_history
|
||||
set label = :label,
|
||||
pinned = :pinned
|
||||
where id = :id
|
||||
and "user" = :user
|
||||
returning *;
|
Loading…
Add table
Add a link
Reference in a new issue