use tonic::Status; use admin::errors::AdminError; pub fn status(error: AdminError) -> Status { match error { AdminError::BadRequest(message) => Status::invalid_argument(message), AdminError::InvalidCredentials => Status::unauthenticated("invalid credentials"), AdminError::Unauthorized => Status::unauthenticated("authentication required"), AdminError::Forbidden => Status::permission_denied("operation not allowed"), AdminError::NotFound => Status::not_found("resource not found"), AdminError::Conflict(message) => Status::already_exists(message), AdminError::RateLimited(message) => Status::resource_exhausted(message), AdminError::Internal(message) => Status::internal(message), } }