aboutsummaryrefslogtreecommitdiff
path: root/crates/secd/store/pg/sql/find_session.sql
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--crates/secd/store/pg/sql/find_session.sql11
1 files changed, 11 insertions, 0 deletions
diff --git a/crates/secd/store/pg/sql/find_session.sql b/crates/secd/store/pg/sql/find_session.sql
new file mode 100644
index 0000000..ca58480
--- /dev/null
+++ b/crates/secd/store/pg/sql/find_session.sql
@@ -0,0 +1,11 @@
+select distinct
+ i.identity_public_id
+ , s.created_at
+ , s.expired_at
+ , s.revoked_at
+from secd.session s
+join secd.identity i using (identity_id)
+where (($1::bytea is null) or (s.token_hash = $1))
+and (($2::uuid is null) or (i.identity_public_id = $2))
+and (($3::timestamptz is null) or (s.expired_at > $3))
+and ((revoked_at is null) or ($4::timestamptz is null) or (s.revoked_at > $4));