From e6d3329f6f72fd39c998bd73f8ef95f59dbf8371 Mon Sep 17 00:00:00 2001
From: Philippe Loctaux
Date: Wed, 15 Nov 2023 20:10:40 +0100
Subject: [PATCH] sqlx v0.7.x
---
Cargo.lock | 642 ++---
Cargo.toml | 2 +-
...1be5d26cb26924d53dc5a68ee4ea48d6bbbfd.json | 12 +
...4df7006c1fde2faaca0f7952a009d6cda90a3.json | 12 +
...3b4c594f373084c73000bc7865a280df74fdd.json | 62 +
...ae5c3f58b57b222ba4333216b5c50c3c58c71.json | 12 +
...01361b6f97c552d6af8477da12cddb03d4865.json | 12 +
...25fd68743ae30d1ec0b0ca5c7dfc367fdf357.json | 12 +
...0c1bf690f40b6cc6ec5f008eb0e928f376659.json | 12 +
...1591e0f35eab7211692bcde8230c68e4cedf3.json | 12 +
...5bd8ee5d50331d94abeee076ae4db46215a56.json | 98 +
...488e75d20c1c436a3ba2c5aa3f54da62fe861.json | 62 +
...cb320fb51fd2e53ed25054d24e9801df0c358.json | 12 +
...60da940bdab3c87690ee42569ae3da1a8e791.json | 12 +
...202be5129c74a5569b2dc7bf95761fe09a6a3.json | 32 +
...5eebd144cf020e9230d154e9e4d0c8d6e01ca.json | 12 +
...a3b89948ee6ac5116e442faef8512c1a615c0.json | 12 +
...15a0092355e120c5cbe006c877afdfc4a4e8c.json | 12 +
...202be315c42dfc820d3c37bba498b1b783811.json | 98 +
...4c7d0ce930da5d841b9d788a9c0e84b580bc6.json | 44 +
...3d1477ad7e4e983b61ede013e5b066940eb5c.json | 12 +
...1a89d96383e28b15186576f90ff59f309196c.json | 12 +
...f07d2c863a93fff693aec1b47378c44bf77de.json | 38 +
...d1592cbc5180abbba6d5abd44326bf0862669.json | 44 +
...c50676ec21cf94e2e50e18f9279c91e6b85c8.json | 12 +
...e85c5a012d71cd745494049a8d9bebab3ed61.json | 12 +
...daf48204274ab62d73ec8968bcd0c7568b157.json | 12 +
...8b4ac09c371af689c444eb439a37f91ecf7a5.json | 12 +
...3b87de0dcb78316628d48f0e6efc0f8103040.json | 12 +
...8f999fc55a6fb8ad4abe7af89ec52e0d10a0e.json | 12 +
...7f3109a07a1ca193cb3082d13687af65c6de0.json | 12 +
...f599728b74e545df3e986e3e7e66882f73ba0.json | 98 +
...dbccc0dd4d12ebcb933024d9867f07bba3eb8.json | 32 +
...302731b3ff82da99ba7771c2728d88aee642a.json | 12 +
...cc25482cef1a57ba4c467fa0bc0fdf25bf39c.json | 12 +
...9754908b1c173e9dce383663d723891a89cd1.json | 12 +
...786b85f23b9638d1c7eaa7b633c052703c911.json | 12 +
...e2c3ffbc590c0f305ff5a8f44350fba3eaec7.json | 32 +
...fde26d6d36b8c8de9935179d41f6c7c755978.json | 12 +
...145baf72b3361f43e4127350a14a183ef63f7.json | 12 +
...5b68d2311c5ae05c1e18db43424c8ed2f2e4e.json | 98 +
...29477c2746765f6e7d5679058ec6525ee7253.json | 38 +
...489b29b2a61b9f73f6ca4b5df7e9fb9bccf90.json | 98 +
...bb7cad49c91bfe7f084d8c25c6c571673ab90.json | 12 +
...9559428be9d0d59df6409ca9ec7cd728f6001.json | 44 +
...7f3dfcf0fe7a30364b1fb57c3e6b757093578.json | 12 +
...0f0dafc78a0e8b69221dee4715f84841839da.json | 12 +
...7363290640b3af7d177a024cad06220a770f0.json | 32 +
...5ba76d7efa1677bfe8291a62b8cbf9cd9e0d5.json | 12 +
...33d4ff1c2e250b2d103d8500fae203fb18a6d.json | 56 +
...41004f988e683d28df2f533ff6272bc71b356.json | 12 +
...7975921c79aef8fcd6d15a4d63c10f2377d24.json | 12 +
...03c50bc90daed80ee2df1fd0dc1d9d2c67b26.json | 12 +
...e6c2210f583cddb0d478075f78124258712dd.json | 12 +
...5eca82d816650fabe65464e2059d5908d8a28.json | 12 +
...93646319950334494ecb5fa7effe9806d07ab.json | 50 +
...91faff7e3668204a179e827a87d6279a02c40.json | 12 +
...5198a1ddd775cd1bda10f6e4a8acfbca64b72.json | 12 +
...91ce94d1df9fa1ccd65b549be92d16741f9d2.json | 98 +
...89800509d94f3a858be99fb7ce8c8bc05d8b7.json | 98 +
...d0dedf4776f73e7a86f19e06772a0adf83406.json | 50 +
...6b7b9723258f4051bce8287038e3dd1ac928a.json | 44 +
...ec1ac248865810cafafd5d78d6cc3f74d5237.json | 98 +
...2f676dce0f67275466566d5bbedf0f4b7f4f5.json | 62 +
...b4a5f13a09cece9ec78e0b6e018950c91facb.json | 62 +
...2d3c547634e2b608d6be91814bce657e07b65.json | 20 +
...bad4bdf22760d431265cf97b911e6456b2fd8.json | 62 +
...4a91a129a0173fbbc3e2536f52d41e8dc99c4.json | 62 +
...63538d29d75c57b67d5eac1ac4ceaa1472a5c.json | 12 +
...526e68fb3d88a1feb28bdafb414e990da55e8.json | 12 +
...2262ac4c0a8fc0921fbd934d2b98146d3f413.json | 12 +
...25216693532c7233a3bf61674b64c2fb3dad7.json | 62 +
crates/database/Cargo.toml | 2 +-
crates/database/sqlx-data.json | 2129 -----------------
74 files changed, 2623 insertions(+), 2418 deletions(-)
create mode 100644 crates/database/.sqlx/query-06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd.json
create mode 100644 crates/database/.sqlx/query-0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3.json
create mode 100644 crates/database/.sqlx/query-13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd.json
create mode 100644 crates/database/.sqlx/query-184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71.json
create mode 100644 crates/database/.sqlx/query-1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865.json
create mode 100644 crates/database/.sqlx/query-2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357.json
create mode 100644 crates/database/.sqlx/query-2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659.json
create mode 100644 crates/database/.sqlx/query-32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3.json
create mode 100644 crates/database/.sqlx/query-37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56.json
create mode 100644 crates/database/.sqlx/query-37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861.json
create mode 100644 crates/database/.sqlx/query-3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358.json
create mode 100644 crates/database/.sqlx/query-44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791.json
create mode 100644 crates/database/.sqlx/query-46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3.json
create mode 100644 crates/database/.sqlx/query-520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca.json
create mode 100644 crates/database/.sqlx/query-52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0.json
create mode 100644 crates/database/.sqlx/query-545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c.json
create mode 100644 crates/database/.sqlx/query-5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811.json
create mode 100644 crates/database/.sqlx/query-56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6.json
create mode 100644 crates/database/.sqlx/query-58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c.json
create mode 100644 crates/database/.sqlx/query-5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c.json
create mode 100644 crates/database/.sqlx/query-5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de.json
create mode 100644 crates/database/.sqlx/query-5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669.json
create mode 100644 crates/database/.sqlx/query-62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8.json
create mode 100644 crates/database/.sqlx/query-645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61.json
create mode 100644 crates/database/.sqlx/query-657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157.json
create mode 100644 crates/database/.sqlx/query-68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5.json
create mode 100644 crates/database/.sqlx/query-693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040.json
create mode 100644 crates/database/.sqlx/query-6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e.json
create mode 100644 crates/database/.sqlx/query-6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0.json
create mode 100644 crates/database/.sqlx/query-71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0.json
create mode 100644 crates/database/.sqlx/query-73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8.json
create mode 100644 crates/database/.sqlx/query-7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a.json
create mode 100644 crates/database/.sqlx/query-7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c.json
create mode 100644 crates/database/.sqlx/query-87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1.json
create mode 100644 crates/database/.sqlx/query-8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911.json
create mode 100644 crates/database/.sqlx/query-8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7.json
create mode 100644 crates/database/.sqlx/query-93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978.json
create mode 100644 crates/database/.sqlx/query-9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7.json
create mode 100644 crates/database/.sqlx/query-979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e.json
create mode 100644 crates/database/.sqlx/query-9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253.json
create mode 100644 crates/database/.sqlx/query-9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90.json
create mode 100644 crates/database/.sqlx/query-9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90.json
create mode 100644 crates/database/.sqlx/query-a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001.json
create mode 100644 crates/database/.sqlx/query-a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578.json
create mode 100644 crates/database/.sqlx/query-a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da.json
create mode 100644 crates/database/.sqlx/query-a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0.json
create mode 100644 crates/database/.sqlx/query-aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5.json
create mode 100644 crates/database/.sqlx/query-adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d.json
create mode 100644 crates/database/.sqlx/query-afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356.json
create mode 100644 crates/database/.sqlx/query-b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24.json
create mode 100644 crates/database/.sqlx/query-baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26.json
create mode 100644 crates/database/.sqlx/query-c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd.json
create mode 100644 crates/database/.sqlx/query-c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28.json
create mode 100644 crates/database/.sqlx/query-c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab.json
create mode 100644 crates/database/.sqlx/query-c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40.json
create mode 100644 crates/database/.sqlx/query-c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72.json
create mode 100644 crates/database/.sqlx/query-ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2.json
create mode 100644 crates/database/.sqlx/query-cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7.json
create mode 100644 crates/database/.sqlx/query-cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406.json
create mode 100644 crates/database/.sqlx/query-d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a.json
create mode 100644 crates/database/.sqlx/query-d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237.json
create mode 100644 crates/database/.sqlx/query-d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5.json
create mode 100644 crates/database/.sqlx/query-e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb.json
create mode 100644 crates/database/.sqlx/query-e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65.json
create mode 100644 crates/database/.sqlx/query-eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8.json
create mode 100644 crates/database/.sqlx/query-eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4.json
create mode 100644 crates/database/.sqlx/query-ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c.json
create mode 100644 crates/database/.sqlx/query-ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8.json
create mode 100644 crates/database/.sqlx/query-f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413.json
create mode 100644 crates/database/.sqlx/query-fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7.json
delete mode 100644 crates/database/sqlx-data.json
diff --git a/Cargo.lock b/Cargo.lock
index 77670a8..27d53ee 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -27,17 +27,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-[[package]]
-name = "ahash"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
[[package]]
name = "ahash"
version = "0.8.3"
@@ -45,6 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
"cfg-if",
+ "getrandom",
"once_cell",
"version_check",
]
@@ -154,9 +144,9 @@ dependencies = [
[[package]]
name = "atoi"
-version = "1.0.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
+checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
dependencies = [
"num-traits",
]
@@ -245,6 +235,9 @@ name = "bitflags"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+dependencies = [
+ "serde",
+]
[[package]]
name = "blake2"
@@ -405,9 +398,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
[[package]]
name = "cookie"
-version = "0.17.0"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24"
+checksum = "3cd91cf61412820176e137621345ee43b3f4423e589e7ae4e50d601d93e35ef8"
dependencies = [
"percent-encoding",
"time 0.3.23",
@@ -607,7 +600,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
dependencies = [
"const-oid",
- "pem-rfc7468",
+ "pem-rfc7468 0.6.0",
+ "zeroize",
+]
+
+[[package]]
+name = "der"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+dependencies = [
+ "const-oid",
+ "pem-rfc7468 0.7.0",
"zeroize",
]
@@ -693,7 +697,7 @@ version = "0.14.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c"
dependencies = [
- "der",
+ "der 0.6.1",
"elliptic-curve",
"rfc6979",
"signature 1.6.4",
@@ -716,14 +720,14 @@ checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
dependencies = [
"base16ct",
"crypto-bigint",
- "der",
+ "der 0.6.1",
"digest",
"ff",
"generic-array",
"group",
"hkdf",
- "pem-rfc7468",
- "pkcs8",
+ "pem-rfc7468 0.6.0",
+ "pkcs8 0.9.0",
"rand_core",
"sec1",
"subtle",
@@ -789,7 +793,7 @@ checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -802,6 +806,17 @@ dependencies = [
"libc",
]
+[[package]]
+name = "etcetera"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
+dependencies = [
+ "cfg-if",
+ "home",
+ "windows-sys",
+]
+
[[package]]
name = "event-listener"
version = "2.5.3"
@@ -885,14 +900,14 @@ dependencies = [
[[package]]
name = "filetime"
-version = "0.2.21"
+version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
+ "redox_syscall",
+ "windows-sys",
]
[[package]]
@@ -907,13 +922,12 @@ dependencies = [
[[package]]
name = "flume"
-version = "0.10.14"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
dependencies = [
"futures-core",
"futures-sink",
- "pin-project",
"spin 0.9.8",
]
@@ -985,13 +999,13 @@ dependencies = [
[[package]]
name = "futures-intrusive"
-version = "0.4.2"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
+checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
dependencies = [
"futures-core",
"lock_api",
- "parking_lot 0.11.2",
+ "parking_lot",
]
[[package]]
@@ -1182,7 +1196,7 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
dependencies = [
- "ahash 0.8.3",
+ "ahash",
"allocator-api2",
]
@@ -1234,6 +1248,15 @@ dependencies = [
"digest",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "hostname"
version = "0.3.1"
@@ -1427,6 +1450,7 @@ checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [
"equivalent",
"hashbrown 0.14.0",
+ "serde",
]
[[package]]
@@ -1478,7 +1502,7 @@ checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
"hermit-abi",
"libc",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -1489,7 +1513,7 @@ checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix 0.38.3",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -1602,11 +1626,11 @@ dependencies = [
"nom",
"once_cell",
"quoted_printable",
- "rustls 0.21.3",
+ "rustls",
"rustls-pemfile",
"socket2",
"tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
"webpki-roots 0.23.1",
]
@@ -1624,9 +1648,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
[[package]]
name = "libsqlite3-sys"
-version = "0.24.2"
+version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
+checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
dependencies = [
"cc",
"pkg-config",
@@ -1691,6 +1715,16 @@ dependencies = [
"regex-automata 0.1.10",
]
+[[package]]
+name = "md-5"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+dependencies = [
+ "cfg-if",
+ "digest",
+]
+
[[package]]
name = "memchr"
version = "2.5.0"
@@ -1752,7 +1786,7 @@ dependencies = [
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -1894,25 +1928,26 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5"
dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
name = "notify"
-version = "5.2.0"
+version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486"
+checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.3.3",
"crossbeam-channel",
"filetime",
"fsevent-sys",
"inotify",
"kqueue",
"libc",
+ "log",
"mio",
"walkdir",
- "windows-sys 0.45.0",
+ "windows-sys",
]
[[package]]
@@ -2108,17 +2143,6 @@ dependencies = [
"sha2",
]
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -2126,21 +2150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.8",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi",
+ "parking_lot_core",
]
[[package]]
@@ -2151,9 +2161,9 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.3.5",
+ "redox_syscall",
"smallvec",
- "windows-targets 0.48.1",
+ "windows-targets",
]
[[package]]
@@ -2201,7 +2211,7 @@ checksum = "0ec95680a7087503575284e5063e14b694b7a9c0b065e5dceec661e0497127e8"
dependencies = [
"inlinable_string",
"pear_codegen",
- "yansi",
+ "yansi 0.5.1",
]
[[package]]
@@ -2225,6 +2235,15 @@ dependencies = [
"base64ct",
]
+[[package]]
+name = "pem-rfc7468"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+dependencies = [
+ "base64ct",
+]
+
[[package]]
name = "percent-encoding"
version = "2.3.0"
@@ -2363,26 +2382,6 @@ dependencies = [
"siphasher",
]
-[[package]]
-name = "pin-project"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.24",
-]
-
[[package]]
name = "pin-project-lite"
version = "0.2.10"
@@ -2401,20 +2400,41 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eff33bdbdfc54cc98a2eca766ebdec3e1b8fb7387523d5c9c9a2891da856f719"
dependencies = [
- "der",
- "pkcs8",
- "spki",
+ "der 0.6.1",
+ "pkcs8 0.9.0",
+ "spki 0.6.0",
"zeroize",
]
+[[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der 0.7.8",
+ "pkcs8 0.10.2",
+ "spki 0.7.2",
+]
+
[[package]]
name = "pkcs8"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
dependencies = [
- "der",
- "spki",
+ "der 0.6.1",
+ "spki 0.6.0",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der 0.7.8",
+ "spki 0.7.2",
]
[[package]]
@@ -2461,7 +2481,7 @@ dependencies = [
"quote",
"syn 2.0.24",
"version_check",
- "yansi",
+ "yansi 0.5.1",
]
[[package]]
@@ -2515,15 +2535,6 @@ dependencies = [
"getrandom",
]
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
[[package]]
name = "redox_syscall"
version = "0.3.5"
@@ -2635,9 +2646,9 @@ dependencies = [
[[package]]
name = "rocket"
-version = "0.5.0-rc.3"
+version = "0.5.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58734f7401ae5cfd129685b48f61182331745b357b96f2367f01aebaf1cc9cc9"
+checksum = "85ae34c956708013335f62150ff64e133be7f9e8ca60203852bc7b13d6044d01"
dependencies = [
"async-stream",
"async-trait",
@@ -2647,13 +2658,12 @@ dependencies = [
"either",
"figment",
"futures",
- "indexmap 1.9.3",
- "is-terminal",
+ "indexmap 2.0.0",
"log",
"memchr",
"multer",
"num_cpus",
- "parking_lot 0.12.1",
+ "parking_lot",
"pin-project-lite",
"rand",
"ref-cast",
@@ -2669,30 +2679,30 @@ dependencies = [
"tokio-util",
"ubyte",
"version_check",
- "yansi",
+ "yansi 1.0.0-rc.1",
]
[[package]]
name = "rocket_codegen"
-version = "0.5.0-rc.3"
+version = "0.5.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7093353f14228c744982e409259fb54878ba9563d08214f2d880d59ff2fc508b"
+checksum = "896efc56a554a4e1fd03df1d8186c955b803aa652bbe8725a731f64e20f9cee8"
dependencies = [
"devise",
"glob",
- "indexmap 1.9.3",
+ "indexmap 2.0.0",
"proc-macro2",
"quote",
"rocket_http",
"syn 2.0.24",
"unicode-xid",
+ "version_check",
]
[[package]]
name = "rocket_cors"
version = "0.6.0-alpha2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b12771b47f52e34d5d0e0e444aeba382863e73263cb9e18847e7d5b74aa2cbd0"
+source = "git+https://github.com/j03-dev/rocket_cors?branch=master#4a562dfdc1c550ca1832ea56a6fd41de04b536c6"
dependencies = [
"http",
"log",
@@ -2707,9 +2717,9 @@ dependencies = [
[[package]]
name = "rocket_db_pools"
-version = "0.1.0-rc.3"
+version = "0.1.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e841c280fd98c042cd3d0353c31920da78a4eb19b12f0e0e3b7a362abe66bec0"
+checksum = "07442bdd9c491414bc1ec4019c92a2cec55971bdb9a7a3c1072fa695b50d5635"
dependencies = [
"rocket",
"rocket_db_pools_codegen",
@@ -2719,9 +2729,9 @@ dependencies = [
[[package]]
name = "rocket_db_pools_codegen"
-version = "0.1.0-rc.3"
+version = "0.1.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e26ff5b517c54ffe049209e6126705fd455529ff0b37c83023d56bf8fd677a76"
+checksum = "256459847a854aacad39fc3d4ff3b05610a66bcd21da42d293248fffc8d730ef"
dependencies = [
"devise",
"quote",
@@ -2729,29 +2739,29 @@ dependencies = [
[[package]]
name = "rocket_dyn_templates"
-version = "0.1.0-rc.3"
+version = "0.1.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "276cac97fcddca93d741a4a530f58969f45a5bdb587f8c6b04c75cf849ca7f4c"
+checksum = "f44ce172f8a9070daf777dec707273ee042223ad9b030d780349baa0b660ae4f"
dependencies = [
- "glob",
"normpath",
"notify",
"rocket",
"tera",
+ "walkdir",
]
[[package]]
name = "rocket_http"
-version = "0.5.0-rc.3"
+version = "0.5.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936012c99162a03a67f37f9836d5f938f662e26f2717809761a9ac46432090f4"
+checksum = "a1b9b7377bab513717a00ca4f91fe1378328b078e7705bfe5f6b69635e9f1719"
dependencies = [
"cookie",
"either",
"futures",
"http",
"hyper",
- "indexmap 1.9.3",
+ "indexmap 2.0.0",
"log",
"memchr",
"pear",
@@ -2790,8 +2800,8 @@ dependencies = [
"num-integer",
"num-iter",
"num-traits",
- "pkcs1",
- "pkcs8",
+ "pkcs1 0.4.1",
+ "pkcs8 0.9.0",
"rand_core",
"signature 1.6.4",
"smallvec",
@@ -2811,14 +2821,34 @@ dependencies = [
"num-integer",
"num-iter",
"num-traits",
- "pkcs1",
- "pkcs8",
+ "pkcs1 0.4.1",
+ "pkcs8 0.9.0",
"rand_core",
"signature 2.1.0",
"subtle",
"zeroize",
]
+[[package]]
+name = "rsa"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+dependencies = [
+ "const-oid",
+ "digest",
+ "num-bigint-dig",
+ "num-integer",
+ "num-traits",
+ "pkcs1 0.7.5",
+ "pkcs8 0.10.2",
+ "rand_core",
+ "signature 2.1.0",
+ "spki 0.7.2",
+ "subtle",
+ "zeroize",
+]
+
[[package]]
name = "rustc-demangle"
version = "0.1.23"
@@ -2851,7 +2881,7 @@ dependencies = [
"io-lifetimes",
"libc",
"linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -2864,19 +2894,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys 0.4.3",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustls"
-version = "0.20.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
-dependencies = [
- "log",
- "ring",
- "sct",
- "webpki",
+ "windows-sys",
]
[[package]]
@@ -2970,9 +2988,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
dependencies = [
"base16ct",
- "der",
+ "der 0.6.1",
"generic-array",
- "pkcs8",
+ "pkcs8 0.9.0",
"subtle",
"zeroize",
]
@@ -3224,7 +3242,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
dependencies = [
"base64ct",
- "der",
+ "der 0.6.1",
+]
+
+[[package]]
+name = "spki"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+dependencies = [
+ "base64ct",
+ "der 0.7.8",
]
[[package]]
@@ -3240,23 +3268,25 @@ dependencies = [
[[package]]
name = "sqlx"
-version = "0.6.3"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
+checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
dependencies = [
"sqlx-core",
"sqlx-macros",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
]
[[package]]
name = "sqlx-core"
-version = "0.6.3"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
+checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
dependencies = [
- "ahash 0.7.6",
+ "ahash",
"atoi",
- "bitflags 1.3.2",
"byteorder",
"bytes",
"chrono",
@@ -3265,42 +3295,52 @@ dependencies = [
"dotenvy",
"either",
"event-listener",
- "flume",
"futures-channel",
"futures-core",
- "futures-executor",
"futures-intrusive",
+ "futures-io",
"futures-util",
"hashlink",
"hex",
- "indexmap 1.9.3",
- "itoa",
- "libc",
- "libsqlite3-sys",
+ "indexmap 2.0.0",
"log",
"memchr",
"once_cell",
"paste",
"percent-encoding",
- "rustls 0.20.8",
+ "rustls",
"rustls-pemfile",
"serde",
+ "serde_json",
"sha2",
"smallvec",
"sqlformat",
- "sqlx-rt",
- "stringprep",
"thiserror",
+ "tokio",
"tokio-stream",
+ "tracing",
"url",
- "webpki-roots 0.22.6",
+ "webpki-roots 0.24.0",
]
[[package]]
name = "sqlx-macros"
-version = "0.6.3"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
+checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sqlx-core",
+ "sqlx-macros-core",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "sqlx-macros-core"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
dependencies = [
"dotenvy",
"either",
@@ -3313,20 +3353,119 @@ dependencies = [
"serde_json",
"sha2",
"sqlx-core",
- "sqlx-rt",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
"syn 1.0.109",
+ "tempfile",
+ "tokio",
"url",
]
[[package]]
-name = "sqlx-rt"
-version = "0.6.3"
+name = "sqlx-mysql"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
+checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "crc",
+ "digest",
+ "dotenvy",
+ "either",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "generic-array",
+ "hex",
+ "hkdf",
+ "hmac",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
"once_cell",
- "tokio",
- "tokio-rustls 0.23.4",
+ "percent-encoding",
+ "rand",
+ "rsa 0.9.3",
+ "serde",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-postgres"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
+dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "chrono",
+ "crc",
+ "dotenvy",
+ "etcetera",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "hex",
+ "hkdf",
+ "hmac",
+ "home",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "rand",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-sqlite"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
+dependencies = [
+ "atoi",
+ "chrono",
+ "flume",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "libsqlite3-sys",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sqlx-core",
+ "tracing",
+ "url",
]
[[package]]
@@ -3340,9 +3479,9 @@ dependencies = [
[[package]]
name = "state"
-version = "0.5.3"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b"
+checksum = "2b8c4a4445d81357df8b1a650d0d0d6fbbbfe99d064aa5e02f3e4022061476d8"
dependencies = [
"loom",
]
@@ -3400,9 +3539,9 @@ dependencies = [
"autocfg",
"cfg-if",
"fastrand",
- "redox_syscall 0.3.5",
+ "redox_syscall",
"rustix 0.37.23",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -3526,7 +3665,7 @@ dependencies = [
"signal-hook-registry",
"socket2",
"tokio-macros",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -3540,24 +3679,13 @@ dependencies = [
"syn 2.0.24",
]
-[[package]]
-name = "tokio-rustls"
-version = "0.23.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
-dependencies = [
- "rustls 0.20.8",
- "tokio",
- "webpki",
-]
-
[[package]]
name = "tokio-rustls"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls 0.21.3",
+ "rustls",
"tokio",
]
@@ -3661,6 +3789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
"cfg-if",
+ "log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
@@ -3919,9 +4048,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
dependencies = [
"same-file",
"winapi-util",
@@ -4012,25 +4141,6 @@ dependencies = [
"wasm-bindgen",
]
-[[package]]
-name = "webpki"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.22.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
-dependencies = [
- "webpki",
-]
-
[[package]]
name = "webpki-roots"
version = "0.23.1"
@@ -4040,6 +4150,21 @@ dependencies = [
"rustls-webpki 0.100.1",
]
+[[package]]
+name = "webpki-roots"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
+dependencies = [
+ "rustls-webpki 0.101.1",
+]
+
+[[package]]
+name = "whoami"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+
[[package]]
name = "winapi"
version = "0.3.9"
@@ -4077,16 +4202,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets 0.48.1",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
+ "windows-targets",
]
[[package]]
@@ -4095,22 +4211,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets 0.48.1",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets",
]
[[package]]
@@ -4119,93 +4220,51 @@ version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
]
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
@@ -4233,6 +4292,15 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+[[package]]
+name = "yansi"
+version = "1.0.0-rc.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377"
+dependencies = [
+ "is-terminal",
+]
+
[[package]]
name = "zeroize"
version = "1.6.0"
diff --git a/Cargo.toml b/Cargo.toml
index e59e89b..cfdbcfa 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,7 +8,7 @@ members = [
[workspace.dependencies]
thiserror = "1"
chrono = "0.4"
-sqlx = "0.6"
+sqlx = "0.7"
url = "2.3"
serde = "1"
serde_json = "1"
diff --git a/crates/database/.sqlx/query-06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd.json b/crates/database/.sqlx/query-06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd.json
new file mode 100644
index 0000000..66bbf95
--- /dev/null
+++ b/crates/database/.sqlx/query-06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update settings\n\nset business_logo = ?\n\nwhere id is 0\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd"
+}
diff --git a/crates/database/.sqlx/query-0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3.json b/crates/database/.sqlx/query-0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3.json
new file mode 100644
index 0000000..4252806
--- /dev/null
+++ b/crates/database/.sqlx/query-0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update settings\n\nset business_name = ?\n\nwhere id is 0\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3"
+}
diff --git a/crates/database/.sqlx/query-13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd.json b/crates/database/.sqlx/query-13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd.json
new file mode 100644
index 0000000..11e775b
--- /dev/null
+++ b/crates/database/.sqlx/query-13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere is_archived is 0\norder by created_at desc",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd"
+}
diff --git a/crates/database/.sqlx/query-184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71.json b/crates/database/.sqlx/query-184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71.json
new file mode 100644
index 0000000..5400960
--- /dev/null
+++ b/crates/database/.sqlx/query-184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update apps\n\nset label = ?,\n redirect_uri = ?,\n is_confidential = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71"
+}
diff --git a/crates/database/.sqlx/query-1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865.json b/crates/database/.sqlx/query-1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865.json
new file mode 100644
index 0000000..4806aca
--- /dev/null
+++ b/crates/database/.sqlx/query-1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update apps\n\nset secret = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865"
+}
diff --git a/crates/database/.sqlx/query-2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357.json b/crates/database/.sqlx/query-2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357.json
new file mode 100644
index 0000000..341ec0f
--- /dev/null
+++ b/crates/database/.sqlx/query-2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update apps\n\nset is_archived = 1\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357"
+}
diff --git a/crates/database/.sqlx/query-2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659.json b/crates/database/.sqlx/query-2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659.json
new file mode 100644
index 0000000..4bebeb3
--- /dev/null
+++ b/crates/database/.sqlx/query-2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update roles\n\nset is_archived = ?\n\nwhere name is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659"
+}
diff --git a/crates/database/.sqlx/query-32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3.json b/crates/database/.sqlx/query-32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3.json
new file mode 100644
index 0000000..6ab6f4d
--- /dev/null
+++ b/crates/database/.sqlx/query-32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset password_recover = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3"
+}
diff --git a/crates/database/.sqlx/query-37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56.json b/crates/database/.sqlx/query-37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56.json
new file mode 100644
index 0000000..58c24ea
--- /dev/null
+++ b/crates/database/.sqlx/query-37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere email is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56"
+}
diff --git a/crates/database/.sqlx/query-37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861.json b/crates/database/.sqlx/query-37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861.json
new file mode 100644
index 0000000..5dc09ac
--- /dev/null
+++ b/crates/database/.sqlx/query-37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select\n -- info\n token,\n ip_address,\n user,\n app,\n\n -- timings\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\"\nfrom refresh_tokens\n\nwhere token is (?)",
+ "describe": {
+ "columns": [
+ {
+ "name": "token",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "ip_address",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "user",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "app",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "expires_at: DateTime",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "used_at: DateTime",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "revoked_at: DateTime",
+ "ordinal": 7,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861"
+}
diff --git a/crates/database/.sqlx/query-3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358.json b/crates/database/.sqlx/query-3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358.json
new file mode 100644
index 0000000..be28ccc
--- /dev/null
+++ b/crates/database/.sqlx/query-3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update refresh_tokens\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere token is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358"
+}
diff --git a/crates/database/.sqlx/query-44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791.json b/crates/database/.sqlx/query-44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791.json
new file mode 100644
index 0000000..58c2686
--- /dev/null
+++ b/crates/database/.sqlx/query-44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into roles (name, label)\nvalues (?, ?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791"
+}
diff --git a/crates/database/.sqlx/query-46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3.json b/crates/database/.sqlx/query-46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3.json
new file mode 100644
index 0000000..a28f563
--- /dev/null
+++ b/crates/database/.sqlx/query-46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3.json
@@ -0,0 +1,32 @@
+{
+ "db_name": "SQLite",
+ "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere role is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "user",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "role",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3"
+}
diff --git a/crates/database/.sqlx/query-520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca.json b/crates/database/.sqlx/query-520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca.json
new file mode 100644
index 0000000..dc666b1
--- /dev/null
+++ b/crates/database/.sqlx/query-520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into users (id, is_admin, username, password)\nvalues (?, ?, ?, ?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca"
+}
diff --git a/crates/database/.sqlx/query-52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0.json b/crates/database/.sqlx/query-52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0.json
new file mode 100644
index 0000000..758139d
--- /dev/null
+++ b/crates/database/.sqlx/query-52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset is_archived = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0"
+}
diff --git a/crates/database/.sqlx/query-545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c.json b/crates/database/.sqlx/query-545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c.json
new file mode 100644
index 0000000..f1adb7c
--- /dev/null
+++ b/crates/database/.sqlx/query-545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset username = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c"
+}
diff --git a/crates/database/.sqlx/query-5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811.json b/crates/database/.sqlx/query-5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811.json
new file mode 100644
index 0000000..5543786
--- /dev/null
+++ b/crates/database/.sqlx/query-5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere username is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811"
+}
diff --git a/crates/database/.sqlx/query-56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6.json b/crates/database/.sqlx/query-56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6.json
new file mode 100644
index 0000000..018ae8b
--- /dev/null
+++ b/crates/database/.sqlx/query-56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6.json
@@ -0,0 +1,44 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "revoked_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "private_der",
+ "ordinal": 3,
+ "type_info": "Blob"
+ },
+ {
+ "name": "public_der",
+ "ordinal": 4,
+ "type_info": "Blob"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ true,
+ false,
+ false
+ ]
+ },
+ "hash": "56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6"
+}
diff --git a/crates/database/.sqlx/query-58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c.json b/crates/database/.sqlx/query-58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c.json
new file mode 100644
index 0000000..c72c0d6
--- /dev/null
+++ b/crates/database/.sqlx/query-58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset timezone = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c"
+}
diff --git a/crates/database/.sqlx/query-5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c.json b/crates/database/.sqlx/query-5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c.json
new file mode 100644
index 0000000..d51c948
--- /dev/null
+++ b/crates/database/.sqlx/query-5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update totp_login_requests\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and used_at is null",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c"
+}
diff --git a/crates/database/.sqlx/query-5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de.json b/crates/database/.sqlx/query-5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de.json
new file mode 100644
index 0000000..bdd0bbd
--- /dev/null
+++ b/crates/database/.sqlx/query-5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de.json
@@ -0,0 +1,38 @@
+{
+ "db_name": "SQLite",
+ "query": "select name,\n label,\n created_at as \"created_at: DateTime\",\n is_archived as \"is_archived: bool\"\nfrom roles\n\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "name",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de"
+}
diff --git a/crates/database/.sqlx/query-5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669.json b/crates/database/.sqlx/query-5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669.json
new file mode 100644
index 0000000..9e36604
--- /dev/null
+++ b/crates/database/.sqlx/query-5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669.json
@@ -0,0 +1,44 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\nwhere revoked_at is not null\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "revoked_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "private_der",
+ "ordinal": 3,
+ "type_info": "Blob"
+ },
+ {
+ "name": "public_der",
+ "ordinal": 4,
+ "type_info": "Blob"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ true,
+ false,
+ false
+ ]
+ },
+ "hash": "5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669"
+}
diff --git a/crates/database/.sqlx/query-62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8.json b/crates/database/.sqlx/query-62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8.json
new file mode 100644
index 0000000..8b695de
--- /dev/null
+++ b/crates/database/.sqlx/query-62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert or ignore into settings(id)\nvalues (0);",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": []
+ },
+ "hash": "62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8"
+}
diff --git a/crates/database/.sqlx/query-645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61.json b/crates/database/.sqlx/query-645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61.json
new file mode 100644
index 0000000..f95565f
--- /dev/null
+++ b/crates/database/.sqlx/query-645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update totp_login_requests\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere token is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61"
+}
diff --git a/crates/database/.sqlx/query-657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157.json b/crates/database/.sqlx/query-657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157.json
new file mode 100644
index 0000000..fca73b9
--- /dev/null
+++ b/crates/database/.sqlx/query-657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "vacuum",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": []
+ },
+ "hash": "657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157"
+}
diff --git a/crates/database/.sqlx/query-68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5.json b/crates/database/.sqlx/query-68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5.json
new file mode 100644
index 0000000..331a66d
--- /dev/null
+++ b/crates/database/.sqlx/query-68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset paper_key = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5"
+}
diff --git a/crates/database/.sqlx/query-693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040.json b/crates/database/.sqlx/query-693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040.json
new file mode 100644
index 0000000..3e08f64
--- /dev/null
+++ b/crates/database/.sqlx/query-693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update roles\n\nset label = ?\n\nwhere name is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040"
+}
diff --git a/crates/database/.sqlx/query-6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e.json b/crates/database/.sqlx/query-6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e.json
new file mode 100644
index 0000000..a95f182
--- /dev/null
+++ b/crates/database/.sqlx/query-6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "delete\nfrom permissions\n\nwhere user is ?\n and role is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e"
+}
diff --git a/crates/database/.sqlx/query-6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0.json b/crates/database/.sqlx/query-6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0.json
new file mode 100644
index 0000000..a942303
--- /dev/null
+++ b/crates/database/.sqlx/query-6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset is_admin = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0"
+}
diff --git a/crates/database/.sqlx/query-71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0.json b/crates/database/.sqlx/query-71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0.json
new file mode 100644
index 0000000..7d8f135
--- /dev/null
+++ b/crates/database/.sqlx/query-71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere id is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0"
+}
diff --git a/crates/database/.sqlx/query-73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8.json b/crates/database/.sqlx/query-73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8.json
new file mode 100644
index 0000000..eaf15bc
--- /dev/null
+++ b/crates/database/.sqlx/query-73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8.json
@@ -0,0 +1,32 @@
+{
+ "db_name": "SQLite",
+ "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere user is (?)\n and role is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "user",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "role",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": [
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8"
+}
diff --git a/crates/database/.sqlx/query-7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a.json b/crates/database/.sqlx/query-7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a.json
new file mode 100644
index 0000000..dc5723d
--- /dev/null
+++ b/crates/database/.sqlx/query-7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update keys\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere revoked_at is null\n and id is not (?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a"
+}
diff --git a/crates/database/.sqlx/query-7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c.json b/crates/database/.sqlx/query-7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c.json
new file mode 100644
index 0000000..1aa1dd7
--- /dev/null
+++ b/crates/database/.sqlx/query-7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update authorization_codes\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere code is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c"
+}
diff --git a/crates/database/.sqlx/query-87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1.json b/crates/database/.sqlx/query-87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1.json
new file mode 100644
index 0000000..beacd78
--- /dev/null
+++ b/crates/database/.sqlx/query-87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update settings\n\nset url = ?\n\nwhere id is 0\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1"
+}
diff --git a/crates/database/.sqlx/query-8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911.json b/crates/database/.sqlx/query-8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911.json
new file mode 100644
index 0000000..edb3b77
--- /dev/null
+++ b/crates/database/.sqlx/query-8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset name = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911"
+}
diff --git a/crates/database/.sqlx/query-8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7.json b/crates/database/.sqlx/query-8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7.json
new file mode 100644
index 0000000..0cd8ab3
--- /dev/null
+++ b/crates/database/.sqlx/query-8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7.json
@@ -0,0 +1,32 @@
+{
+ "db_name": "SQLite",
+ "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere user is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "user",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "role",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7"
+}
diff --git a/crates/database/.sqlx/query-93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978.json b/crates/database/.sqlx/query-93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978.json
new file mode 100644
index 0000000..3b7b28c
--- /dev/null
+++ b/crates/database/.sqlx/query-93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere app is ?\n and revoked_at is null",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978"
+}
diff --git a/crates/database/.sqlx/query-9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7.json b/crates/database/.sqlx/query-9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7.json
new file mode 100644
index 0000000..f5d5098
--- /dev/null
+++ b/crates/database/.sqlx/query-9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset password = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7"
+}
diff --git a/crates/database/.sqlx/query-979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e.json b/crates/database/.sqlx/query-979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e.json
new file mode 100644
index 0000000..fb185a3
--- /dev/null
+++ b/crates/database/.sqlx/query-979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e"
+}
diff --git a/crates/database/.sqlx/query-9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253.json b/crates/database/.sqlx/query-9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253.json
new file mode 100644
index 0000000..d302470
--- /dev/null
+++ b/crates/database/.sqlx/query-9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253.json
@@ -0,0 +1,38 @@
+{
+ "db_name": "SQLite",
+ "query": "select name,\n label,\n created_at as \"created_at: DateTime\",\n is_archived as \"is_archived: bool\"\nfrom roles\n\nwhere name is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "name",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253"
+}
diff --git a/crates/database/.sqlx/query-9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90.json b/crates/database/.sqlx/query-9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90.json
new file mode 100644
index 0000000..f204ff3
--- /dev/null
+++ b/crates/database/.sqlx/query-9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join settings s on u.id = s.first_admin\n\nwhere u.is_admin is 1\n and u.is_archived is 0\n and u.id is s.first_admin\n\nlimit 1",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90"
+}
diff --git a/crates/database/.sqlx/query-9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90.json b/crates/database/.sqlx/query-9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90.json
new file mode 100644
index 0000000..4a0a54e
--- /dev/null
+++ b/crates/database/.sqlx/query-9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere revoked_at is null",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": []
+ },
+ "hash": "9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90"
+}
diff --git a/crates/database/.sqlx/query-a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001.json b/crates/database/.sqlx/query-a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001.json
new file mode 100644
index 0000000..ca6e7e5
--- /dev/null
+++ b/crates/database/.sqlx/query-a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001.json
@@ -0,0 +1,44 @@
+{
+ "db_name": "SQLite",
+ "query": "select\n -- info\n token,\n user,\n\n -- timings\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom totp_login_requests\n\nwhere token is (?)",
+ "describe": {
+ "columns": [
+ {
+ "name": "token",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "user",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "expires_at: DateTime",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "used_at: DateTime",
+ "ordinal": 4,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001"
+}
diff --git a/crates/database/.sqlx/query-a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578.json b/crates/database/.sqlx/query-a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578.json
new file mode 100644
index 0000000..c8ba3a8
--- /dev/null
+++ b/crates/database/.sqlx/query-a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into totp_login_requests (token, user, expires_at)\nvalues (?, ?, datetime(?, 'unixepoch'))\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 3
+ },
+ "nullable": []
+ },
+ "hash": "a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578"
+}
diff --git a/crates/database/.sqlx/query-a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da.json b/crates/database/.sqlx/query-a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da.json
new file mode 100644
index 0000000..d6b6b3e
--- /dev/null
+++ b/crates/database/.sqlx/query-a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into authorization_codes (code, app, user, expires_at)\nvalues (?, ?, ?, datetime(?, 'unixepoch'))\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da"
+}
diff --git a/crates/database/.sqlx/query-a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0.json b/crates/database/.sqlx/query-a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0.json
new file mode 100644
index 0000000..9de5f40
--- /dev/null
+++ b/crates/database/.sqlx/query-a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0.json
@@ -0,0 +1,32 @@
+{
+ "db_name": "SQLite",
+ "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "user",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "role",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0"
+}
diff --git a/crates/database/.sqlx/query-aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5.json b/crates/database/.sqlx/query-aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5.json
new file mode 100644
index 0000000..46bd056
--- /dev/null
+++ b/crates/database/.sqlx/query-aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update settings\n\nset first_admin = ?\n\nwhere id is 0\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5"
+}
diff --git a/crates/database/.sqlx/query-adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d.json b/crates/database/.sqlx/query-adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d.json
new file mode 100644
index 0000000..3a56c37
--- /dev/null
+++ b/crates/database/.sqlx/query-adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d.json
@@ -0,0 +1,56 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n business_name,\n business_logo,\n url,\n first_admin\n\nfrom settings\n\nwhere id is 0\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Int64"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "business_name",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "business_logo",
+ "ordinal": 4,
+ "type_info": "Blob"
+ },
+ {
+ "name": "url",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "first_admin",
+ "ordinal": 6,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true
+ ]
+ },
+ "hash": "adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d"
+}
diff --git a/crates/database/.sqlx/query-afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356.json b/crates/database/.sqlx/query-afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356.json
new file mode 100644
index 0000000..ace51eb
--- /dev/null
+++ b/crates/database/.sqlx/query-afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset totp_secret = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356"
+}
diff --git a/crates/database/.sqlx/query-b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24.json b/crates/database/.sqlx/query-b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24.json
new file mode 100644
index 0000000..45a5da9
--- /dev/null
+++ b/crates/database/.sqlx/query-b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into refresh_tokens (token, ip_address, user, app, expires_at)\nvalues (?, ?, ?, ?, datetime(?, 'unixepoch'))\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 5
+ },
+ "nullable": []
+ },
+ "hash": "b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24"
+}
diff --git a/crates/database/.sqlx/query-baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26.json b/crates/database/.sqlx/query-baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26.json
new file mode 100644
index 0000000..a437ee4
--- /dev/null
+++ b/crates/database/.sqlx/query-baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset totp_backup = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26"
+}
diff --git a/crates/database/.sqlx/query-c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd.json b/crates/database/.sqlx/query-c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd.json
new file mode 100644
index 0000000..5796527
--- /dev/null
+++ b/crates/database/.sqlx/query-c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and revoked_at is null",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd"
+}
diff --git a/crates/database/.sqlx/query-c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28.json b/crates/database/.sqlx/query-c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28.json
new file mode 100644
index 0000000..1022356
--- /dev/null
+++ b/crates/database/.sqlx/query-c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update users\n\nset email = ?\n\nwhere id is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28"
+}
diff --git a/crates/database/.sqlx/query-c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab.json b/crates/database/.sqlx/query-c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab.json
new file mode 100644
index 0000000..dfcaf95
--- /dev/null
+++ b/crates/database/.sqlx/query-c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab.json
@@ -0,0 +1,50 @@
+{
+ "db_name": "SQLite",
+ "query": "select code,\n app,\n user,\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom authorization_codes\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "code",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "app",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "user",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "expires_at: DateTime",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "used_at: DateTime",
+ "ordinal": 5,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab"
+}
diff --git a/crates/database/.sqlx/query-c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40.json b/crates/database/.sqlx/query-c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40.json
new file mode 100644
index 0000000..0d07457
--- /dev/null
+++ b/crates/database/.sqlx/query-c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere token is ?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40"
+}
diff --git a/crates/database/.sqlx/query-c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72.json b/crates/database/.sqlx/query-c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72.json
new file mode 100644
index 0000000..bc0e38e
--- /dev/null
+++ b/crates/database/.sqlx/query-c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into permissions(user, role)\nvalues (?, ?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72"
+}
diff --git a/crates/database/.sqlx/query-ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2.json b/crates/database/.sqlx/query-ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2.json
new file mode 100644
index 0000000..a311ef4
--- /dev/null
+++ b/crates/database/.sqlx/query-ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join refresh_tokens rt on u.id = rt.user\n\nwhere rt.token is ?\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2"
+}
diff --git a/crates/database/.sqlx/query-cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7.json b/crates/database/.sqlx/query-cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7.json
new file mode 100644
index 0000000..2590fda
--- /dev/null
+++ b/crates/database/.sqlx/query-cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere password_recover is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7"
+}
diff --git a/crates/database/.sqlx/query-cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406.json b/crates/database/.sqlx/query-cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406.json
new file mode 100644
index 0000000..3e815e6
--- /dev/null
+++ b/crates/database/.sqlx/query-cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406.json
@@ -0,0 +1,50 @@
+{
+ "db_name": "SQLite",
+ "query": "select code,\n app,\n user,\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom authorization_codes\n\nwhere code is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "code",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "app",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "user",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "expires_at: DateTime",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "used_at: DateTime",
+ "ordinal": 5,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406"
+}
diff --git a/crates/database/.sqlx/query-d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a.json b/crates/database/.sqlx/query-d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a.json
new file mode 100644
index 0000000..0e34ded
--- /dev/null
+++ b/crates/database/.sqlx/query-d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a.json
@@ -0,0 +1,44 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\nwhere revoked_at is null\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "revoked_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "private_der",
+ "ordinal": 3,
+ "type_info": "Blob"
+ },
+ {
+ "name": "public_der",
+ "ordinal": 4,
+ "type_info": "Blob"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ true,
+ false,
+ false
+ ]
+ },
+ "hash": "d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a"
+}
diff --git a/crates/database/.sqlx/query-d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237.json b/crates/database/.sqlx/query-d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237.json
new file mode 100644
index 0000000..1f5622e
--- /dev/null
+++ b/crates/database/.sqlx/query-d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237.json
@@ -0,0 +1,98 @@
+{
+ "db_name": "SQLite",
+ "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join authorization_codes ac on u.id = ac.user\n\nwhere ac.code is ?",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_admin: bool",
+ "ordinal": 3,
+ "type_info": "Int64"
+ },
+ {
+ "name": "username",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "name",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "email",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "password",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "password_recover",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "paper_key",
+ "ordinal": 9,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "timezone",
+ "ordinal": 11,
+ "type_info": "Text"
+ },
+ {
+ "name": "totp_secret",
+ "ordinal": 12,
+ "type_info": "Blob"
+ },
+ {
+ "name": "totp_backup",
+ "ordinal": 13,
+ "type_info": "Text"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true
+ ]
+ },
+ "hash": "d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237"
+}
diff --git a/crates/database/.sqlx/query-d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5.json b/crates/database/.sqlx/query-d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5.json
new file mode 100644
index 0000000..dcc5b4e
--- /dev/null
+++ b/crates/database/.sqlx/query-d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere is_archived is 1\norder by created_at desc",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5"
+}
diff --git a/crates/database/.sqlx/query-e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb.json b/crates/database/.sqlx/query-e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb.json
new file mode 100644
index 0000000..a9d610d
--- /dev/null
+++ b/crates/database/.sqlx/query-e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere id is (?)\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb"
+}
diff --git a/crates/database/.sqlx/query-e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65.json b/crates/database/.sqlx/query-e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65.json
new file mode 100644
index 0000000..c3b11d2
--- /dev/null
+++ b/crates/database/.sqlx/query-e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65.json
@@ -0,0 +1,20 @@
+{
+ "db_name": "SQLite",
+ "query": "select page_count * page_size\nFROM pragma_page_count(), pragma_page_size();",
+ "describe": {
+ "columns": [
+ {
+ "name": "page_count * page_size",
+ "ordinal": 0,
+ "type_info": "Int"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ null
+ ]
+ },
+ "hash": "e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65"
+}
diff --git a/crates/database/.sqlx/query-eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8.json b/crates/database/.sqlx/query-eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8.json
new file mode 100644
index 0000000..40156dc
--- /dev/null
+++ b/crates/database/.sqlx/query-eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select a.id,\n a.created_at as \"created_at: DateTime\",\n a.updated_at as \"updated_at: DateTime\",\n a.label,\n a.redirect_uri,\n a.secret,\n a.is_confidential as \"is_confidential: bool\",\n a.is_archived as \"is_archived: bool\"\nfrom apps a\n\n inner join authorization_codes ac on a.id = ac.app\n\nwhere ac.code is ?\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8"
+}
diff --git a/crates/database/.sqlx/query-eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4.json b/crates/database/.sqlx/query-eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4.json
new file mode 100644
index 0000000..c4b881a
--- /dev/null
+++ b/crates/database/.sqlx/query-eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere id is (?)\n and redirect_uri is (?)\n and is_archived is 0\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4"
+}
diff --git a/crates/database/.sqlx/query-ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c.json b/crates/database/.sqlx/query-ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c.json
new file mode 100644
index 0000000..1ae835a
--- /dev/null
+++ b/crates/database/.sqlx/query-ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "update authorization_codes\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and used_at is null",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": []
+ },
+ "hash": "ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c"
+}
diff --git a/crates/database/.sqlx/query-ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8.json b/crates/database/.sqlx/query-ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8.json
new file mode 100644
index 0000000..99f76a8
--- /dev/null
+++ b/crates/database/.sqlx/query-ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into apps (id, label, redirect_uri, secret, is_confidential)\nvalues (?, ?, ?, ?, ?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 5
+ },
+ "nullable": []
+ },
+ "hash": "ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8"
+}
diff --git a/crates/database/.sqlx/query-f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413.json b/crates/database/.sqlx/query-f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413.json
new file mode 100644
index 0000000..1beaa47
--- /dev/null
+++ b/crates/database/.sqlx/query-f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "insert into keys (id, private_der, public_der)\nvalues (?, ?, ?)\n",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 3
+ },
+ "nullable": []
+ },
+ "hash": "f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413"
+}
diff --git a/crates/database/.sqlx/query-fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7.json b/crates/database/.sqlx/query-fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7.json
new file mode 100644
index 0000000..e55a6a8
--- /dev/null
+++ b/crates/database/.sqlx/query-fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7.json
@@ -0,0 +1,62 @@
+{
+ "db_name": "SQLite",
+ "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\norder by created_at desc\n",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at: DateTime",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "updated_at: DateTime",
+ "ordinal": 2,
+ "type_info": "Text"
+ },
+ {
+ "name": "label",
+ "ordinal": 3,
+ "type_info": "Text"
+ },
+ {
+ "name": "redirect_uri",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "secret",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "is_confidential: bool",
+ "ordinal": 6,
+ "type_info": "Int64"
+ },
+ {
+ "name": "is_archived: bool",
+ "ordinal": 7,
+ "type_info": "Int64"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7"
+}
diff --git a/crates/database/Cargo.toml b/crates/database/Cargo.toml
index 8f5dcfc..431629e 100644
--- a/crates/database/Cargo.toml
+++ b/crates/database/Cargo.toml
@@ -8,4 +8,4 @@ thiserror = { workspace = true }
[dependencies.sqlx]
workspace = true
-features = ["sqlite", "macros", "migrate", "chrono", "offline", "runtime-tokio-rustls"]
+features = ["sqlite", "macros", "migrate", "chrono", "runtime-tokio-rustls"]
diff --git a/crates/database/sqlx-data.json b/crates/database/sqlx-data.json
deleted file mode 100644
index 33c88e9..0000000
--- a/crates/database/sqlx-data.json
+++ /dev/null
@@ -1,2129 +0,0 @@
-{
- "db": "SQLite",
- "06cfa74715f3725e99e63aa206f1be5d26cb26924d53dc5a68ee4ea48d6bbbfd": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update settings\n\nset business_logo = ?\n\nwhere id is 0\n"
- },
- "0b60c7829e95dde4145b7f207b64df7006c1fde2faaca0f7952a009d6cda90a3": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update settings\n\nset business_name = ?\n\nwhere id is 0\n"
- },
- "13c26aaf556d259535afb95f5c53b4c594f373084c73000bc7865a280df74fdd": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere is_archived is 0\norder by created_at desc"
- },
- "184d704e75f00513082dd2c6cc3ae5c3f58b57b222ba4333216b5c50c3c58c71": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 4
- }
- },
- "query": "update apps\n\nset label = ?,\n redirect_uri = ?,\n is_confidential = ?\n\nwhere id is ?"
- },
- "1e2edc8cf28832344dbfa0878ac01361b6f97c552d6af8477da12cddb03d4865": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update apps\n\nset secret = ?\n\nwhere id is ?"
- },
- "2d562e7b19d7d8303a0e79d143d25fd68743ae30d1ec0b0ca5c7dfc367fdf357": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update apps\n\nset is_archived = 1\n\nwhere id is ?"
- },
- "2ee77458d93ae79d957e03e6ca50c1bf690f40b6cc6ec5f008eb0e928f376659": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update roles\n\nset is_archived = ?\n\nwhere name is ?"
- },
- "32d35bdd1f4cf64ce0ff7beb7a11591e0f35eab7211692bcde8230c68e4cedf3": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset password_recover = ?\n\nwhere id is ?"
- },
- "37000307a757b4912ca300c346b5bd8ee5d50331d94abeee076ae4db46215a56": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere email is (?)\n"
- },
- "37681902a5f5d87492812a525a6488e75d20c1c436a3ba2c5aa3f54da62fe861": {
- "describe": {
- "columns": [
- {
- "name": "token",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "ip_address",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "user",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "app",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "expires_at: DateTime",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "used_at: DateTime",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "revoked_at: DateTime",
- "ordinal": 7,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select\n -- info\n token,\n ip_address,\n user,\n app,\n\n -- timings\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\"\nfrom refresh_tokens\n\nwhere token is (?)"
- },
- "3c8e31ffa5cbfd4dded8a272777cb320fb51fd2e53ed25054d24e9801df0c358": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update refresh_tokens\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere token is ?"
- },
- "44cc12d7659e618fcb44a82697d60da940bdab3c87690ee42569ae3da1a8e791": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "insert into roles (name, label)\nvalues (?, ?)\n"
- },
- "46caa546db24d2c1e8192f9e699202be5129c74a5569b2dc7bf95761fe09a6a3": {
- "describe": {
- "columns": [
- {
- "name": "user",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "role",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere role is (?)\n"
- },
- "520fe30e21f6b6c4d9a47c457675eebd144cf020e9230d154e9e4d0c8d6e01ca": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 4
- }
- },
- "query": "insert into users (id, is_admin, username, password)\nvalues (?, ?, ?, ?)\n"
- },
- "52c16bb0e76dd1726d151b69d1ba3b89948ee6ac5116e442faef8512c1a615c0": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset is_archived = ?\n\nwhere id is ?"
- },
- "545f19b0373c7ffe16864eb242c15a0092355e120c5cbe006c877afdfc4a4e8c": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset username = ?\n\nwhere id is ?"
- },
- "5567f75b47f739e85da3469bec0202be315c42dfc820d3c37bba498b1b783811": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere username is (?)\n"
- },
- "56a9c0dff010858189a95087d014c7d0ce930da5d841b9d788a9c0e84b580bc6": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "revoked_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "private_der",
- "ordinal": 3,
- "type_info": "Blob"
- },
- {
- "name": "public_der",
- "ordinal": 4,
- "type_info": "Blob"
- }
- ],
- "nullable": [
- false,
- false,
- true,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\norder by created_at desc\n"
- },
- "58e0626629a768c33783bbc926c3d1477ad7e4e983b61ede013e5b066940eb5c": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset timezone = ?\n\nwhere id is ?"
- },
- "5a365b761ada7d5f67e5ad3ff9a1a89d96383e28b15186576f90ff59f309196c": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update totp_login_requests\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and used_at is null"
- },
- "5e148a43d9f64c73296b2b70deef07d2c863a93fff693aec1b47378c44bf77de": {
- "describe": {
- "columns": [
- {
- "name": "name",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 3,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select name,\n label,\n created_at as \"created_at: DateTime\",\n is_archived as \"is_archived: bool\"\nfrom roles\n\norder by created_at desc\n"
- },
- "5f946348ad62389fab3c97a1563d1592cbc5180abbba6d5abd44326bf0862669": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "revoked_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "private_der",
- "ordinal": 3,
- "type_info": "Blob"
- },
- {
- "name": "public_der",
- "ordinal": 4,
- "type_info": "Blob"
- }
- ],
- "nullable": [
- false,
- false,
- true,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\nwhere revoked_at is not null\norder by created_at desc\n"
- },
- "62c75412f673f6a293b0d188d79c50676ec21cf94e2e50e18f9279c91e6b85c8": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 0
- }
- },
- "query": "insert or ignore into settings(id)\nvalues (0);"
- },
- "645f583812c4d71570d1e84b866e85c5a012d71cd745494049a8d9bebab3ed61": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update totp_login_requests\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere token is ?"
- },
- "657fdc2b228b14a6aba717e5083daf48204274ab62d73ec8968bcd0c7568b157": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 0
- }
- },
- "query": "vacuum"
- },
- "68cfa3d135eb4cdbdbcb3b943518b4ac09c371af689c444eb439a37f91ecf7a5": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset paper_key = ?\n\nwhere id is ?"
- },
- "693c8c3de266cb3a8fc98bdea8e3b87de0dcb78316628d48f0e6efc0f8103040": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update roles\n\nset label = ?\n\nwhere name is ?"
- },
- "6fa3c48b9e93fb9ec6807f7547a8f999fc55a6fb8ad4abe7af89ec52e0d10a0e": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "delete\nfrom permissions\n\nwhere user is ?\n and role is ?"
- },
- "6ff12f357d884a50035d708577a7f3109a07a1ca193cb3082d13687af65c6de0": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset is_admin = ?\n\nwhere id is ?"
- },
- "71c74369dc5d374d8ec5aa347b5f599728b74e545df3e986e3e7e66882f73ba0": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere id is (?)\n"
- },
- "73bdbde04fca37f2411e7a9e1b6dbccc0dd4d12ebcb933024d9867f07bba3eb8": {
- "describe": {
- "columns": [
- {
- "name": "user",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "role",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 2
- }
- },
- "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere user is (?)\n and role is (?)\n"
- },
- "7b7f2430b2a719b3d5ce504c0a9302731b3ff82da99ba7771c2728d88aee642a": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update keys\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere revoked_at is null\n and id is not (?)\n"
- },
- "7f26b73408318040f94fb6574d5cc25482cef1a57ba4c467fa0bc0fdf25bf39c": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update authorization_codes\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere code is ?"
- },
- "87906834faa6f185aee0e4d893b9754908b1c173e9dce383663d723891a89cd1": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update settings\n\nset url = ?\n\nwhere id is 0\n"
- },
- "8c131e1f73ffa01fc3e5e08071a786b85f23b9638d1c7eaa7b633c052703c911": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset name = ?\n\nwhere id is ?"
- },
- "8c37375b0694df02b7f1b6678e4e2c3ffbc590c0f305ff5a8f44350fba3eaec7": {
- "describe": {
- "columns": [
- {
- "name": "user",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "role",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\nwhere user is (?)\n"
- },
- "93b15a942a6c7db595990f00e14fde26d6d36b8c8de9935179d41f6c7c755978": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere app is ?\n and revoked_at is null"
- },
- "9784afe2dcff4db86908175d4e3145baf72b3361f43e4127350a14a183ef63f7": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset password = ?\n\nwhere id is ?"
- },
- "979c7ba41dac5ea5593fc169ea95b68d2311c5ae05c1e18db43424c8ed2f2e4e": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\norder by created_at desc\n"
- },
- "9a3aef02e55fc436e9c09c1ee6d29477c2746765f6e7d5679058ec6525ee7253": {
- "describe": {
- "columns": [
- {
- "name": "name",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 3,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select name,\n label,\n created_at as \"created_at: DateTime\",\n is_archived as \"is_archived: bool\"\nfrom roles\n\nwhere name is (?)\n"
- },
- "9dc379b0f3a3c944a33ef01dc40489b29b2a61b9f73f6ca4b5df7e9fb9bccf90": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join settings s on u.id = s.first_admin\n\nwhere u.is_admin is 1\n and u.is_archived is 0\n and u.id is s.first_admin\n\nlimit 1"
- },
- "9f1885c4786f73335b4d614f562bb7cad49c91bfe7f084d8c25c6c571673ab90": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 0
- }
- },
- "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere revoked_at is null"
- },
- "a0dd1ddcc7d58fad78ed6c5027a9559428be9d0d59df6409ca9ec7cd728f6001": {
- "describe": {
- "columns": [
- {
- "name": "token",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "user",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "expires_at: DateTime",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "used_at: DateTime",
- "ordinal": 4,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select\n -- info\n token,\n user,\n\n -- timings\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom totp_login_requests\n\nwhere token is (?)"
- },
- "a2bf546b2cf6a53a3a127c08fbb7f3dfcf0fe7a30364b1fb57c3e6b757093578": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 3
- }
- },
- "query": "insert into totp_login_requests (token, user, expires_at)\nvalues (?, ?, datetime(?, 'unixepoch'))\n"
- },
- "a55b17a3a70e6445517f19536220f0dafc78a0e8b69221dee4715f84841839da": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 4
- }
- },
- "query": "insert into authorization_codes (code, app, user, expires_at)\nvalues (?, ?, ?, datetime(?, 'unixepoch'))\n"
- },
- "a9e910eedc27c495262571520627363290640b3af7d177a024cad06220a770f0": {
- "describe": {
- "columns": [
- {
- "name": "user",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "role",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select user,\n role,\n created_at as \"created_at: DateTime\"\n\nfrom permissions\n"
- },
- "aae93a39c5a9f46235b5ef871b45ba76d7efa1677bfe8291a62b8cbf9cd9e0d5": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update settings\n\nset first_admin = ?\n\nwhere id is 0\n"
- },
- "adcbc32e2c284b59eefb79fd2ff33d4ff1c2e250b2d103d8500fae203fb18a6d": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Int64"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "business_name",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "business_logo",
- "ordinal": 4,
- "type_info": "Blob"
- },
- {
- "name": "url",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "first_admin",
- "ordinal": 6,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- true,
- true,
- true,
- true
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n business_name,\n business_logo,\n url,\n first_admin\n\nfrom settings\n\nwhere id is 0\n"
- },
- "afc08ba1fd47656c7d987e3817941004f988e683d28df2f533ff6272bc71b356": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset totp_secret = ?\n\nwhere id is ?"
- },
- "b3936ae237f02cc048ca084372f7975921c79aef8fcd6d15a4d63c10f2377d24": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 5
- }
- },
- "query": "insert into refresh_tokens (token, ip_address, user, app, expires_at)\nvalues (?, ?, ?, ?, datetime(?, 'unixepoch'))\n"
- },
- "baaae9952348da17e2f4d099c6903c50bc90daed80ee2df1fd0dc1d9d2c67b26": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset totp_backup = ?\n\nwhere id is ?"
- },
- "c00e5fce25caebdeeb24db20880e6c2210f583cddb0d478075f78124258712dd": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and revoked_at is null"
- },
- "c28c88869239edc02c073f461645eca82d816650fabe65464e2059d5908d8a28": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "update users\n\nset email = ?\n\nwhere id is ?"
- },
- "c3dcd38a2d4ff391aed4a2ac3f393646319950334494ecb5fa7effe9806d07ab": {
- "describe": {
- "columns": [
- {
- "name": "code",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "app",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "user",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "expires_at: DateTime",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "used_at: DateTime",
- "ordinal": 5,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select code,\n app,\n user,\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom authorization_codes\n"
- },
- "c6157ec3928527ec0ac5f493a5a91faff7e3668204a179e827a87d6279a02c40": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update refresh_tokens\n\nset revoked_at = CURRENT_TIMESTAMP\n\nwhere token is ?"
- },
- "c724c273f9d99bde48c29d7a0e65198a1ddd775cd1bda10f6e4a8acfbca64b72": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 2
- }
- },
- "query": "insert into permissions(user, role)\nvalues (?, ?)\n"
- },
- "ca7d100a9440fb7854a27f9aafd91ce94d1df9fa1ccd65b549be92d16741f9d2": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join refresh_tokens rt on u.id = rt.user\n\nwhere rt.token is ?\n"
- },
- "cf12bd3112b2047f263118649ba89800509d94f3a858be99fb7ce8c8bc05d8b7": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n is_admin as \"is_admin: bool\",\n username,\n name,\n email,\n password,\n password_recover,\n paper_key,\n is_archived as \"is_archived: bool\",\n timezone,\n totp_secret,\n totp_backup\nfrom users\n\nwhere password_recover is (?)\n"
- },
- "cf624c4e122477228e3bab09f7cd0dedf4776f73e7a86f19e06772a0adf83406": {
- "describe": {
- "columns": [
- {
- "name": "code",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "app",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "user",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "expires_at: DateTime",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "used_at: DateTime",
- "ordinal": 5,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select code,\n app,\n user,\n created_at as \"created_at: DateTime\",\n expires_at as \"expires_at: DateTime\",\n used_at as \"used_at: DateTime\"\nfrom authorization_codes\n\nwhere code is (?)\n"
- },
- "d166553746afb2d3eaa1ddcb9986b7b9723258f4051bce8287038e3dd1ac928a": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "revoked_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "private_der",
- "ordinal": 3,
- "type_info": "Blob"
- },
- {
- "name": "public_der",
- "ordinal": 4,
- "type_info": "Blob"
- }
- ],
- "nullable": [
- false,
- false,
- true,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n revoked_at as \"revoked_at: DateTime\",\n private_der,\n public_der\n\nfrom keys\nwhere revoked_at is null\norder by created_at desc\n"
- },
- "d6d3a401f5563ce339099ccbdedec1ac248865810cafafd5d78d6cc3f74d5237": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "is_admin: bool",
- "ordinal": 3,
- "type_info": "Int64"
- },
- {
- "name": "username",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "name",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "email",
- "ordinal": 6,
- "type_info": "Text"
- },
- {
- "name": "password",
- "ordinal": 7,
- "type_info": "Text"
- },
- {
- "name": "password_recover",
- "ordinal": 8,
- "type_info": "Text"
- },
- {
- "name": "paper_key",
- "ordinal": 9,
- "type_info": "Text"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 10,
- "type_info": "Int64"
- },
- {
- "name": "timezone",
- "ordinal": 11,
- "type_info": "Text"
- },
- {
- "name": "totp_secret",
- "ordinal": 12,
- "type_info": "Blob"
- },
- {
- "name": "totp_backup",
- "ordinal": 13,
- "type_info": "Text"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- true,
- true,
- true,
- true,
- true,
- false,
- false,
- true,
- true
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select u.id,\n u.created_at as \"created_at: DateTime\",\n u.updated_at as \"updated_at: DateTime\",\n u.is_admin as \"is_admin: bool\",\n u.username,\n u.name,\n u.email,\n u.password,\n u.password_recover,\n u.paper_key,\n u.is_archived as \"is_archived: bool\",\n u.timezone,\n u.totp_secret,\n u.totp_backup\nfrom users u\n\n inner join authorization_codes ac on u.id = ac.user\n\nwhere ac.code is ?"
- },
- "d8517e5faa5292da25d21a85fcb2f676dce0f67275466566d5bbedf0f4b7f4f5": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere is_archived is 1\norder by created_at desc"
- },
- "e22ba816faac0c17ca9f2c31fd1b4a5f13a09cece9ec78e0b6e018950c91facb": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere id is (?)\n"
- },
- "e977ca16c7bd7ec4125725ff5e42d3c547634e2b608d6be91814bce657e07b65": {
- "describe": {
- "columns": [
- {
- "name": "page_count * page_size",
- "ordinal": 0,
- "type_info": "Int"
- }
- ],
- "nullable": [
- null
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select page_count * page_size\nFROM pragma_page_count(), pragma_page_size();"
- },
- "eaf0744f65a1de803fa8cc21b67bad4bdf22760d431265cf97b911e6456b2fd8": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 1
- }
- },
- "query": "select a.id,\n a.created_at as \"created_at: DateTime\",\n a.updated_at as \"updated_at: DateTime\",\n a.label,\n a.redirect_uri,\n a.secret,\n a.is_confidential as \"is_confidential: bool\",\n a.is_archived as \"is_archived: bool\"\nfrom apps a\n\n inner join authorization_codes ac on a.id = ac.app\n\nwhere ac.code is ?\n"
- },
- "eb1a0153c88b0b2744ed1b71df04a91a129a0173fbbc3e2536f52d41e8dc99c4": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 2
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\nwhere id is (?)\n and redirect_uri is (?)\n and is_archived is 0\n"
- },
- "ebe28f418d28303b2efe1fe192a63538d29d75c57b67d5eac1ac4ceaa1472a5c": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 1
- }
- },
- "query": "update authorization_codes\n\nset used_at = CURRENT_TIMESTAMP\n\nwhere user is ?\n and used_at is null"
- },
- "ed27954feb3e21b5c519ccd0312526e68fb3d88a1feb28bdafb414e990da55e8": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 5
- }
- },
- "query": "insert into apps (id, label, redirect_uri, secret, is_confidential)\nvalues (?, ?, ?, ?, ?)\n"
- },
- "f705411720bd037562f7e3622832262ac4c0a8fc0921fbd934d2b98146d3f413": {
- "describe": {
- "columns": [],
- "nullable": [],
- "parameters": {
- "Right": 3
- }
- },
- "query": "insert into keys (id, private_der, public_der)\nvalues (?, ?, ?)\n"
- },
- "fb35faa6eb7349f783d0053509225216693532c7233a3bf61674b64c2fb3dad7": {
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "created_at: DateTime",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "updated_at: DateTime",
- "ordinal": 2,
- "type_info": "Text"
- },
- {
- "name": "label",
- "ordinal": 3,
- "type_info": "Text"
- },
- {
- "name": "redirect_uri",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "secret",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "is_confidential: bool",
- "ordinal": 6,
- "type_info": "Int64"
- },
- {
- "name": "is_archived: bool",
- "ordinal": 7,
- "type_info": "Int64"
- }
- ],
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ],
- "parameters": {
- "Right": 0
- }
- },
- "query": "select id,\n created_at as \"created_at: DateTime\",\n updated_at as \"updated_at: DateTime\",\n label,\n redirect_uri,\n secret,\n is_confidential as \"is_confidential: bool\",\n is_archived as \"is_archived: bool\"\nfrom apps\n\norder by created_at desc\n"
- }
-}
\ No newline at end of file