mirror of
https://github.com/penpot/penpot.git
synced 2025-01-24 23:49:45 -05:00
66 lines
1.7 KiB
SQL
66 lines
1.7 KiB
SQL
-- :name create-image-collection :<! :1
|
|
insert into images_collections (id, "user", name)
|
|
values (:id, :user, :name)
|
|
returning *;
|
|
|
|
-- :name update-image-collection :<! :1
|
|
update images_collections
|
|
set name = :name,
|
|
version = :version
|
|
where id = :id
|
|
and "user" = :user
|
|
returning *;
|
|
|
|
-- :name get-image-collections :? :*
|
|
select *,
|
|
(select count(*) from images where collection = ic.id) as num_images
|
|
from images_collections as ic
|
|
where (ic."user" = :user or
|
|
ic."user" = '00000000-0000-0000-0000-000000000000'::uuid)
|
|
and ic.deleted_at is null
|
|
order by ic.created_at desc;
|
|
|
|
-- :name delete-image-collection :! :n
|
|
update images_collections
|
|
set deleted_at = clock_timestamp()
|
|
where id = :id
|
|
and "user" = :user;
|
|
|
|
-- :name get-images-by-collection :? :*
|
|
select * from images
|
|
where ("user" = :user or
|
|
"user" = '00000000-0000-0000-0000-000000000000'::uuid)
|
|
and deleted_at is null
|
|
and collection = :collection
|
|
order by created_at desc;
|
|
|
|
-- :name get-images :? :*
|
|
select * from images
|
|
where "user" = :user
|
|
and deleted_at is null
|
|
and collection is null
|
|
order by created_at desc;
|
|
|
|
-- :name get-image :? :1
|
|
select * from images
|
|
where id = :id
|
|
and deleted_at is null;
|
|
|
|
-- :name create-image :<! :1
|
|
insert into images ("user", name, collection, path, width, height, mimetype)
|
|
values (:user, :name, :collection, :path, :width, :height, :mimetype)
|
|
returning *;
|
|
|
|
-- :name update-image :<! :1
|
|
update images
|
|
set name = :name,
|
|
collection = :collection,
|
|
version = :version
|
|
where id = :id
|
|
and "user" = :user
|
|
returning *;
|
|
|
|
-- :name delete-image :! :n
|
|
update images
|
|
set deleted_at = clock_timestamp()
|
|
where id = :id and "user" = :user;
|