diff options
-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.rs | 2 | ||||
-rw-r--r-- | src/routes/register.rs | 2 | ||||
-rw-r--r-- | src/routes/user.rs | 28 |
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) } } |