aboutsummaryrefslogtreecommitdiff
path: root/crates/secd/store/sqlite/sql/find_impersonator.sql
diff options
context:
space:
mode:
Diffstat (limited to 'crates/secd/store/sqlite/sql/find_impersonator.sql')
-rw-r--r--crates/secd/store/sqlite/sql/find_impersonator.sql10
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/secd/store/sqlite/sql/find_impersonator.sql b/crates/secd/store/sqlite/sql/find_impersonator.sql
new file mode 100644
index 0000000..786e9ba
--- /dev/null
+++ b/crates/secd/store/sqlite/sql/find_impersonator.sql
@@ -0,0 +1,10 @@
+select i2.identity_public_id as impersonator_public_id
+ , i3.identity_public_id as target_public_id
+ , i.created_at
+from impersonator i
+join identity i2 on i.impersonator_id = i2.identity_id
+join identity i3 on i.target_id = i3.identity_id
+join credential c using (credential_id)
+where (($1 is null) or (i2.identity_public_id = $1))
+and (($2 is null) or (i3.identity_public_id = $2))
+and c.revoked_at > $3;