0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-10 00:40:30 -05:00
penpot/backend/resources/sql/users.sql
2016-11-20 20:04:52 +01:00

69 lines
1.7 KiB
SQL

-- :name create-profile :<! :1
insert into users (id, fullname, username, email, password, metadata, photo)
values (:id, :fullname, :username, :email, :password, :metadata, '')
returning *;
-- :name get-profile :? :1
select * from users
where id = :id
and deleted_at is null;
-- :name get-profile-by-username :? :1
select * from users
where (username = :username or email = :username)
and deleted_at is null;
-- :name user-with-username-exists?
select exists
(select * from users
where username = :username
--~ (when (:id params) "and id != :id")
) as val;
-- :name user-with-email-exists?
select exists
(select * from users
where email = :email
--~ (when (:id params) "and id != :id")
) as val;
-- :name update-profile :<! :1
update users
set username = :username,
email = :email,
fullname = :fullname,
metadata = :metadata
where id = :id
and deleted_at is null
returning *;
-- :name update-profile-password :! :n
update users
set password = :password
where id = :id
and deleted_at is null
-- :name update-profile-photo :! :n
update users
set photo = :photo
where id = :id
and deleted_at is null
-- :name create-recovery-token :! :n
insert into user_pswd_recovery ("user", token)
values (:user, :token);
-- :name get-recovery-token
select * from user_pswd_recovery
where used_at is null
and token = :token;
-- :name recovery-token-exists? :? :1
select exists (select * from user_pswd_recovery
where used_at is null
and token = :token) as token_exists;
-- :name mark-recovery-token-used :! :n
update user_pswd_recovery
set used_at = clock_timestamp()
where token = :token;