Skip to content

Commit

Permalink
include inner errors in map_err calls
Browse files Browse the repository at this point in the history
  • Loading branch information
Uewotm90 committed Dec 8, 2023
1 parent e8215a6 commit 8b26edb
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 31 deletions.
2 changes: 1 addition & 1 deletion src/api/auth.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use tonic::{
pub fn validation_interceptor(mut req: Request<()>) -> Result<Request<()>, Status> {
let token = match req
.token_string()
.map_err(|_err| Status::internal("failed to get token string"))?
.map_err(|err| Status::internal(format!("could not stringify user id in request metadata, internal error {}",err)))?
{
Some(token) => Token::from_str(TokenType::AccessToken, &token),
None => return Err(Status::unauthenticated("Token not found")),
Expand Down
8 changes: 4 additions & 4 deletions src/controllers/controller_impls/access_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ impl AccessControllerTrait for AccessController {

Check warning on line 31 in src/controllers/controller_impls/access_controller.rs

View workflow job for this annotation

GitHub Actions / cargo fmt

Diff in /home/runner/work/Ecdar-API/Ecdar-API/src/controllers/controller_impls/access_controller.rs
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| Status::internal(format!("could not stringify user id in request metadata, internal error {}",err)))?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

match self
Expand Down Expand Up @@ -82,7 +82,7 @@ impl AccessControllerTrait for AccessController {

Check warning on line 82 in src/controllers/controller_impls/access_controller.rs

View workflow job for this annotation

GitHub Actions / cargo fmt

Diff in /home/runner/work/Ecdar-API/Ecdar-API/src/controllers/controller_impls/access_controller.rs
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| Status::internal(format!("could not stringify user id in request metadata, internal error {}",err)))?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

// Check if the requester has access to model with role 'Editor'
Expand Down Expand Up @@ -132,7 +132,7 @@ impl AccessControllerTrait for AccessController {

Check warning on line 132 in src/controllers/controller_impls/access_controller.rs

View workflow job for this annotation

GitHub Actions / cargo fmt

Diff in /home/runner/work/Ecdar-API/Ecdar-API/src/controllers/controller_impls/access_controller.rs
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| Status::internal(format!("could not stringify user id in request metadata, internal error {}",err)))?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

let user_access = self
Expand Down Expand Up @@ -196,7 +196,7 @@ impl AccessControllerTrait for AccessController {

let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| Status::internal("could not stringify user id in request metadata"))?

Check warning on line 199 in src/controllers/controller_impls/access_controller.rs

View workflow job for this annotation

GitHub Actions / Clippy lint and check

unused variable: `err`

warning: unused variable: `err` --> src/controllers/controller_impls/access_controller.rs:199:23 | 199 | .map_err(|err| Status::internal("could not stringify user id in request metadata"))? | ^^^ help: if this is intentional, prefix it with an underscore: `_err` | = note: `#[warn(unused_variables)]` on by default

Check warning on line 199 in src/controllers/controller_impls/access_controller.rs

View workflow job for this annotation

GitHub Actions / Clippy lint and check

unused variable: `err`

warning: unused variable: `err` --> src/controllers/controller_impls/access_controller.rs:199:23 | 199 | .map_err(|err| Status::internal("could not stringify user id in request metadata"))? | ^^^ help: if this is intentional, prefix it with an underscore: `_err` | = note: `#[warn(unused_variables)]` on by default
.ok_or(Status::internal("Could not get uid from request metadata"))?;

let user_access = self
Expand Down
57 changes: 41 additions & 16 deletions src/controllers/controller_impls/project_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,12 @@ impl ProjectControllerTrait for ProjectController {

let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

let access = self
Expand Down Expand Up @@ -92,9 +97,7 @@ impl ProjectControllerTrait for ProjectController {
TokenType::AccessToken,
request
.token_string()
.map_err(|_err| {
Status::invalid_argument("token string from request metadata could not be stringified")
})?
.map_err(|err| Status::internal(format!("could not stringify user id in request metadata, internal error {}",err)))?
.ok_or(Status::invalid_argument("failed to get token from request metadata"))?,
)
.await
Expand Down Expand Up @@ -166,7 +169,12 @@ impl ProjectControllerTrait for ProjectController {
let message = request.get_ref().clone();
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

let components_info = match message.clone().components_info {
Expand Down Expand Up @@ -225,10 +233,11 @@ impl ProjectControllerTrait for ProjectController {
TokenType::AccessToken,
request
.token_string()
.map_err(|_err| {
Status::invalid_argument(
"token string from request metadata could not be stringified",
)
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal(
"failed to get token from request metadata",
Expand Down Expand Up @@ -274,7 +283,12 @@ impl ProjectControllerTrait for ProjectController {
let message = request.get_ref().clone();
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

// Check if the project exists
Expand Down Expand Up @@ -318,10 +332,11 @@ impl ProjectControllerTrait for ProjectController {
TokenType::AccessToken,
request
.token_string()
.map_err(|_err| {
Status::invalid_argument(
"token string from request metadata could not be stringified",
)
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal(
"failed to get token from request metadata",
Expand Down Expand Up @@ -412,7 +427,12 @@ impl ProjectControllerTrait for ProjectController {
) -> Result<Response<()>, Status> {
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;
let project_id = request.get_ref().id;

Expand Down Expand Up @@ -452,7 +472,12 @@ impl ProjectControllerTrait for ProjectController {
) -> Result<Response<ListProjectsInfoResponse>, Status> {
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

match self
Expand Down
30 changes: 22 additions & 8 deletions src/controllers/controller_impls/query_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,13 @@ impl QueryControllerTrait for QueryController {
.get_access_by_uid_and_project_id(
request
.uid()
.map_err(|_err| {
Status::internal("could not stringify user id in request metadata")
.map_err(|err| {
Status::invalid_argument(format!(
"could not stringify user id in request metadata, inner error {}",
err
))
})?
.ok_or(Status::internal(
.ok_or(Status::invalid_argument(
"failed to get user id from request metadata",
))?,
query_request.project_id,
Expand Down Expand Up @@ -105,8 +108,11 @@ impl QueryControllerTrait for QueryController {
.get_access_by_uid_and_project_id(
request
.uid()
.map_err(|_err| {
Status::internal("could not stringify user id in request metadata")
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal(
"failed to get user id from request metadata",
Expand Down Expand Up @@ -166,8 +172,11 @@ impl QueryControllerTrait for QueryController {
.get_access_by_uid_and_project_id(
request
.uid()
.map_err(|_err| {
Status::internal("could not stringify user id in request metadata")
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal(
"failed to get user id from request metadata",
Expand Down Expand Up @@ -213,7 +222,12 @@ impl QueryControllerTrait for QueryController {

let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal(
"failed to get user id from request metadata",
))?;
Expand Down
14 changes: 12 additions & 2 deletions src/controllers/controller_impls/user_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,12 @@ impl UserControllerTrait for UserController {

let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

// Get user from contexts
Expand Down Expand Up @@ -155,7 +160,12 @@ impl UserControllerTrait for UserController {
async fn delete_user(&self, request: Request<()>) -> Result<Response<()>, Status> {
let uid = request
.uid()
.map_err(|_err| Status::internal("could not stringify user id in request metadata"))?
.map_err(|err| {
Status::internal(format!(
"could not stringify user id in request metadata, internal error {}",
err
))
})?
.ok_or(Status::internal("Could not get uid from request metadata"))?;

// Delete user from contexts
Expand Down

0 comments on commit 8b26edb

Please sign in to comment.