aboutsummaryrefslogtreecommitdiff
path: root/crates/secd/store/sqlite/sql/find_session.sql
diff options
context:
space:
mode:
authorbenj <benj@rse8.com>2022-12-24 00:43:38 -0800
committerbenj <benj@rse8.com>2022-12-24 00:43:38 -0800
commitc2268c285648ef02ece04de0d9df0813c6d70ff8 (patch)
treef84ec7ee42f97d78245f26d0c5a0c559cd35e89d /crates/secd/store/sqlite/sql/find_session.sql
parentde6339da72af1d61ca5908b780977e2b037ce014 (diff)
downloadsecdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar.gz
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar.bz2
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar.lz
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar.xz
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.tar.zst
secdiam-c2268c285648ef02ece04de0d9df0813c6d70ff8.zip
refactor everything with more abstraction and a nicer interface
Diffstat (limited to 'crates/secd/store/sqlite/sql/find_session.sql')
-rw-r--r--crates/secd/store/sqlite/sql/find_session.sql11
1 files changed, 11 insertions, 0 deletions
diff --git a/crates/secd/store/sqlite/sql/find_session.sql b/crates/secd/store/sqlite/sql/find_session.sql
new file mode 100644
index 0000000..31640dd
--- /dev/null
+++ b/crates/secd/store/sqlite/sql/find_session.sql
@@ -0,0 +1,11 @@
+select distinct
+ i.identity_public_id
+ , s.created_at
+ , s.expired_at
+ , s.revoked_at
+from session s
+join identity i using (identity_id)
+where (($1 is null) or (s.token_hash = $1))
+and (($2 is null) or (i.identity_public_id = $2))
+and (($3 is null) or (s.expired_at > $3))
+and ((revoked_at is null) or ($4 is null) or (s.revoked_at > $4));