Kyoo/auth/sql/queries/sessions.sql
2024-10-19 18:09:21 +02:00

47 lines
636 B
SQL

-- name: GetUserFromToken :one
select
s.id, s.last_used, sqlc.embed(u)
from
users as u
inner join sessions as s on u.id = s.user_id
where
s.token = $1
limit 1;
-- name: TouchSession :exec
update
sessions
set
last_used = now()::timestamptz
where
id = $1;
-- name: GetUserSessions :many
select
*
from
sessions
where
user_id = $1
order by
last_used;
-- name: CreateSession :one
insert into sessions(token, user_id, device)
values ($1, $2, $3)
returning
*;
-- name: DeleteSession :one
delete from sessions
where id = $1
returning
*;
-- name: DeleteSessionByToken :one
delete from sessions
where token = $1
returning
*;