Skip to content

Commit 31f0321

Browse files
committed
auth: Use let-else to reduce indentation
1 parent 99bc2a9 commit 31f0321

File tree

1 file changed

+20
-24
lines changed

1 file changed

+20
-24
lines changed

src/auth.rs

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -161,18 +161,16 @@ fn authenticate_via_cookie<T: RequestPartsExt>(
161161
.session_get("user_id")
162162
.and_then(|s| s.parse::<i32>().ok());
163163

164-
if let Some(id) = user_id_from_session {
165-
let user = User::find(conn, id)
166-
.map_err(|err| err.chain(internal("user_id from cookie not found in database")))?;
164+
let Some(id) = user_id_from_session else { return Ok(None) };
167165

168-
ensure_not_locked(&user)?;
166+
let user = User::find(conn, id)
167+
.map_err(|err| err.chain(internal("user_id from cookie not found in database")))?;
169168

170-
req.add_custom_metadata("uid", id);
169+
ensure_not_locked(&user)?;
171170

172-
return Ok(Some(CookieAuthentication { user }));
173-
}
171+
req.add_custom_metadata("uid", id);
174172

175-
Ok(None)
173+
Ok(Some(CookieAuthentication { user }))
176174
}
177175

178176
fn authenticate_via_token<T: RequestPartsExt>(
@@ -184,27 +182,25 @@ fn authenticate_via_token<T: RequestPartsExt>(
184182
.get(header::AUTHORIZATION)
185183
.and_then(|h| h.to_str().ok());
186184

187-
if let Some(header_value) = maybe_authorization {
188-
let token = ApiToken::find_by_api_token(conn, header_value).map_err(|e| {
189-
if e.is::<InsecurelyGeneratedTokenRevoked>() {
190-
e
191-
} else {
192-
e.chain(internal("invalid token")).chain(forbidden())
193-
}
194-
})?;
185+
let Some(header_value) = maybe_authorization else { return Ok(None) };
195186

196-
let user = User::find(conn, token.user_id)
197-
.map_err(|err| err.chain(internal("user_id from token not found in database")))?;
187+
let token = ApiToken::find_by_api_token(conn, header_value).map_err(|e| {
188+
if e.is::<InsecurelyGeneratedTokenRevoked>() {
189+
e
190+
} else {
191+
e.chain(internal("invalid token")).chain(forbidden())
192+
}
193+
})?;
198194

199-
ensure_not_locked(&user)?;
195+
let user = User::find(conn, token.user_id)
196+
.map_err(|err| err.chain(internal("user_id from token not found in database")))?;
200197

201-
req.add_custom_metadata("uid", token.user_id);
202-
req.add_custom_metadata("tokenid", token.id);
198+
ensure_not_locked(&user)?;
203199

204-
return Ok(Some(TokenAuthentication { user, token }));
205-
}
200+
req.add_custom_metadata("uid", token.user_id);
201+
req.add_custom_metadata("tokenid", token.id);
206202

207-
Ok(None)
203+
Ok(Some(TokenAuthentication { user, token }))
208204
}
209205

210206
fn authenticate<T: RequestPartsExt>(req: &T) -> AppResult<Authentication> {

0 commit comments

Comments
 (0)