aboutsummaryrefslogtreecommitdiff
path: root/backend/db/queries/cookies
diff options
context:
space:
mode:
Diffstat (limited to 'backend/db/queries/cookies')
-rw-r--r--backend/db/queries/cookies/add_cookie.sql2
-rw-r--r--backend/db/queries/cookies/get_any_cookie.sql7
-rw-r--r--backend/db/queries/cookies/get_cookies.sql7
-rw-r--r--backend/db/queries/cookies/set_cookie_degraded.sql3
4 files changed, 19 insertions, 0 deletions
diff --git a/backend/db/queries/cookies/add_cookie.sql b/backend/db/queries/cookies/add_cookie.sql
new file mode 100644
index 0000000..1519da4
--- /dev/null
+++ b/backend/db/queries/cookies/add_cookie.sql
@@ -0,0 +1,2 @@
+INSERT INTO ibd_tokens (token, expires_at, user_subject, encryption_key)
+VALUES ($1, $2, $3, $4) \ No newline at end of file
diff --git a/backend/db/queries/cookies/get_any_cookie.sql b/backend/db/queries/cookies/get_any_cookie.sql
new file mode 100644
index 0000000..4e5c823
--- /dev/null
+++ b/backend/db/queries/cookies/get_any_cookie.sql
@@ -0,0 +1,7 @@
+SELECT ibd_tokens.id, token, encrypted_key, kms_key_name, expires_at
+FROM ibd_tokens
+ INNER JOIN keys ON encryption_key = keys.id
+WHERE expires_at > NOW()
+ AND degraded = FALSE
+ORDER BY random()
+LIMIT 1;
diff --git a/backend/db/queries/cookies/get_cookies.sql b/backend/db/queries/cookies/get_cookies.sql
new file mode 100644
index 0000000..3828ec3
--- /dev/null
+++ b/backend/db/queries/cookies/get_cookies.sql
@@ -0,0 +1,7 @@
+SELECT ibd_tokens.id, token, encrypted_key, kms_key_name, expires_at
+FROM ibd_tokens
+ INNER JOIN keys ON encryption_key = keys.id
+WHERE user_subject = $1
+ AND expires_at > NOW()
+ AND degraded = $2
+ORDER BY expires_at DESC; \ No newline at end of file
diff --git a/backend/db/queries/cookies/set_cookie_degraded.sql b/backend/db/queries/cookies/set_cookie_degraded.sql
new file mode 100644
index 0000000..4fd8222
--- /dev/null
+++ b/backend/db/queries/cookies/set_cookie_degraded.sql
@@ -0,0 +1,3 @@
+UPDATE ibd_tokens
+SET degraded = $1
+WHERE id = $2; \ No newline at end of file