summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.sqlx/query-177a3eff2a2789b77f296a223e89cbca31e5c6ebd7790d322d9201caea86ff20.json (renamed from .sqlx/query-f3f58600e971f1be6cbe206bba24f77769f54c6230e28f5b3dc719b869d9cb3f.json)4
-rw-r--r--.sqlx/query-5be45c3dea798be562ed478ecadd4e023b3772eb0cc03fc9ff760a42af16881d.json (renamed from .sqlx/query-88ab40f815a04112c23c1dde6b1c9afff0e030585b44259a9fb7da9cfb10537d.json)4
-rw-r--r--src/routes/login.rs2
-rw-r--r--src/routes/register.rs2
-rw-r--r--src/routes/user.rs28
5 files changed, 24 insertions, 16 deletions
diff --git a/.sqlx/query-f3f58600e971f1be6cbe206bba24f77769f54c6230e28f5b3dc719b869d9cb3f.json b/.sqlx/query-177a3eff2a2789b77f296a223e89cbca31e5c6ebd7790d322d9201caea86ff20.json
index 9c94c0f..16d9abc 100644
--- a/.sqlx/query-f3f58600e971f1be6cbe206bba24f77769f54c6230e28f5b3dc719b869d9cb3f.json
+++ b/.sqlx/query-177a3eff2a2789b77f296a223e89cbca31e5c6ebd7790d322d9201caea86ff20.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "SELECT * FROM users WHERE email = $1",
+ "query": "SELECT * FROM users WHERE email = $1 LIMIT 1",
"describe": {
"columns": [
{
@@ -48,5 +48,5 @@
false
]
},
- "hash": "f3f58600e971f1be6cbe206bba24f77769f54c6230e28f5b3dc719b869d9cb3f"
+ "hash": "177a3eff2a2789b77f296a223e89cbca31e5c6ebd7790d322d9201caea86ff20"
}
diff --git a/.sqlx/query-88ab40f815a04112c23c1dde6b1c9afff0e030585b44259a9fb7da9cfb10537d.json b/.sqlx/query-5be45c3dea798be562ed478ecadd4e023b3772eb0cc03fc9ff760a42af16881d.json
index 2d82a8a..97b0e16 100644
--- a/.sqlx/query-88ab40f815a04112c23c1dde6b1c9afff0e030585b44259a9fb7da9cfb10537d.json
+++ b/.sqlx/query-5be45c3dea798be562ed478ecadd4e023b3772eb0cc03fc9ff760a42af16881d.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "SELECT * FROM users WHERE uuid = $1",
+ "query": "SELECT * FROM users WHERE uuid = $1 LIMIT 1",
"describe": {
"columns": [
{
@@ -48,5 +48,5 @@
false
]
},
- "hash": "88ab40f815a04112c23c1dde6b1c9afff0e030585b44259a9fb7da9cfb10537d"
+ "hash": "5be45c3dea798be562ed478ecadd4e023b3772eb0cc03fc9ff760a42af16881d"
}
diff --git a/src/routes/login.rs b/src/routes/login.rs
index 665659e..0e1e825 100644
--- a/src/routes/login.rs
+++ b/src/routes/login.rs
@@ -31,7 +31,7 @@ impl Login {
..
} = sqlx::query_as!(
UserSchema,
- "SELECT * FROM users WHERE email = $1",
+ "SELECT * FROM users WHERE email = $1 LIMIT 1",
email.to_ascii_lowercase()
)
.fetch_optional(&state.pool)
diff --git a/src/routes/register.rs b/src/routes/register.rs
index 5e06ae6..286e70f 100644
--- a/src/routes/register.rs
+++ b/src/routes/register.rs
@@ -35,7 +35,7 @@ impl Register {
email_address::EmailAddress::from_str(&email)?;
let exists: Option<bool> =
- sqlx::query_scalar("SELECT EXISTS(SELECT 1 FROM users WHERE email = $1)")
+ sqlx::query_scalar("SELECT EXISTS(SELECT 1 FROM users WHERE email = $1 LIMIT 1)")
.bind(email.to_ascii_lowercase())
.fetch_one(&state.pool)
.await?;
diff --git a/src/routes/user.rs b/src/routes/user.rs
index 04ab500..73eef04 100644
--- a/src/routes/user.rs
+++ b/src/routes/user.rs
@@ -18,11 +18,15 @@ impl UserUuid {
/// Get a user with a specific `uuid`
#[tracing::instrument]
pub async fn get(self, State(state): State<Arc<AppState>>) -> impl IntoResponse {
- sqlx::query_as!(UserSchema, "SELECT * FROM users WHERE uuid = $1", self.uuid)
- .fetch_optional(&state.pool)
- .await?
- .ok_or_else(|| Error::UserNotFound)
- .map(Json)
+ sqlx::query_as!(
+ UserSchema,
+ "SELECT * FROM users WHERE uuid = $1 LIMIT 1",
+ self.uuid
+ )
+ .fetch_optional(&state.pool)
+ .await?
+ .ok_or_else(|| Error::UserNotFound)
+ .map(Json)
}
}
@@ -37,11 +41,15 @@ impl User {
State(state): State<Arc<AppState>>,
Extension(Claims { sub, .. }): Extension<Claims>,
) -> Result<impl IntoResponse, Error> {
- sqlx::query_as!(UserSchema, "SELECT * FROM users WHERE uuid = $1", sub)
- .fetch_optional(&state.pool)
- .await?
- .ok_or_else(|| Error::UserNotFound)
- .map(Json)
+ sqlx::query_as!(
+ UserSchema,
+ "SELECT * FROM users WHERE uuid = $1 LIMIT 1",
+ sub
+ )
+ .fetch_optional(&state.pool)
+ .await?
+ .ok_or_else(|| Error::UserNotFound)
+ .map(Json)
}
}