aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@atuin.sh>2025-03-19 12:44:20 +0000
committerGitHub <noreply@github.com>2025-03-19 12:44:20 +0000
commit14ec768b4520d4fc34dbf24e663ea7db940c18b7 (patch)
treea37db707ab8676cad5b3e6ca47af3f2997958906 /crates/atuin-server
parentfeat: Use readline binding for ctrl-a when it is not the prefix (#2626) (diff)
downloadatuin-14ec768b4520d4fc34dbf24e663ea7db940c18b7.zip
chore: migrate to rust 2024 (#2635)
* chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
Diffstat (limited to 'crates/atuin-server')
-rw-r--r--crates/atuin-server/Cargo.toml2
-rw-r--r--crates/atuin-server/src/handlers/health.rs2
-rw-r--r--crates/atuin-server/src/handlers/history.rs6
-rw-r--r--crates/atuin-server/src/handlers/mod.rs2
-rw-r--r--crates/atuin-server/src/handlers/record.rs2
-rw-r--r--crates/atuin-server/src/handlers/status.rs4
-rw-r--r--crates/atuin-server/src/handlers/user.rs25
-rw-r--r--crates/atuin-server/src/handlers/v0/record.rs2
-rw-r--r--crates/atuin-server/src/lib.rs8
-rw-r--r--crates/atuin-server/src/metrics.rs7
-rw-r--r--crates/atuin-server/src/router.rs6
-rw-r--r--crates/atuin-server/src/settings.rs6
12 files changed, 36 insertions, 36 deletions
diff --git a/crates/atuin-server/Cargo.toml b/crates/atuin-server/Cargo.toml
index c7099b96..6518af9f 100644
--- a/crates/atuin-server/Cargo.toml
+++ b/crates/atuin-server/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-server"
-edition = "2021"
+edition = "2024"
description = "server library for atuin"
rust-version = { workspace = true }
diff --git a/crates/atuin-server/src/handlers/health.rs b/crates/atuin-server/src/handlers/health.rs
index 1a3fc4d7..aebd1e8f 100644
--- a/crates/atuin-server/src/handlers/health.rs
+++ b/crates/atuin-server/src/handlers/health.rs
@@ -1,4 +1,4 @@
-use axum::{http, response::IntoResponse, Json};
+use axum::{Json, http, response::IntoResponse};
use serde::Serialize;
diff --git a/crates/atuin-server/src/handlers/history.rs b/crates/atuin-server/src/handlers/history.rs
index 05bbe740..5547a180 100644
--- a/crates/atuin-server/src/handlers/history.rs
+++ b/crates/atuin-server/src/handlers/history.rs
@@ -1,9 +1,9 @@
use std::{collections::HashMap, convert::TryFrom};
use axum::{
+ Json,
extract::{Path, Query, State},
http::{HeaderMap, StatusCode},
- Json,
};
use metrics::counter;
use time::{Month, UtcOffset};
@@ -15,9 +15,9 @@ use crate::{
utils::client_version_min,
};
use atuin_server_database::{
+ Database,
calendar::{TimePeriod, TimePeriodInfo},
models::NewHistory,
- Database,
};
use atuin_common::api::*;
@@ -223,7 +223,7 @@ pub async fn calendar<DB: Database>(
"day" => TimePeriod::Day { year, month },
_ => {
return Err(ErrorResponse::reply("invalid focus: use year/month/day")
- .with_status(StatusCode::BAD_REQUEST))
+ .with_status(StatusCode::BAD_REQUEST));
}
};
diff --git a/crates/atuin-server/src/handlers/mod.rs b/crates/atuin-server/src/handlers/mod.rs
index a0d7ccc7..1b9fd162 100644
--- a/crates/atuin-server/src/handlers/mod.rs
+++ b/crates/atuin-server/src/handlers/mod.rs
@@ -1,6 +1,6 @@
use atuin_common::api::{ErrorResponse, IndexResponse};
use atuin_server_database::Database;
-use axum::{extract::State, http, response::IntoResponse, Json};
+use axum::{Json, extract::State, http, response::IntoResponse};
use crate::router::AppState;
diff --git a/crates/atuin-server/src/handlers/record.rs b/crates/atuin-server/src/handlers/record.rs
index bf454949..1400a923 100644
--- a/crates/atuin-server/src/handlers/record.rs
+++ b/crates/atuin-server/src/handlers/record.rs
@@ -1,4 +1,4 @@
-use axum::{http::StatusCode, response::IntoResponse, Json};
+use axum::{Json, http::StatusCode, response::IntoResponse};
use serde_json::json;
use tracing::instrument;
diff --git a/crates/atuin-server/src/handlers/status.rs b/crates/atuin-server/src/handlers/status.rs
index 7c127a81..9c152d51 100644
--- a/crates/atuin-server/src/handlers/status.rs
+++ b/crates/atuin-server/src/handlers/status.rs
@@ -1,4 +1,4 @@
-use axum::{extract::State, http::StatusCode, Json};
+use axum::{Json, extract::State, http::StatusCode};
use tracing::instrument;
use super::{ErrorResponse, ErrorResponseStatus, RespExt};
@@ -28,7 +28,7 @@ pub async fn status<DB: Database>(
Ok(count) => count,
Err(_) => {
return Err(ErrorResponse::reply("failed to query history count")
- .with_status(StatusCode::INTERNAL_SERVER_ERROR))
+ .with_status(StatusCode::INTERNAL_SERVER_ERROR));
}
},
};
diff --git a/crates/atuin-server/src/handlers/user.rs b/crates/atuin-server/src/handlers/user.rs
index 50defc4a..135b0e0d 100644
--- a/crates/atuin-server/src/handlers/user.rs
+++ b/crates/atuin-server/src/handlers/user.rs
@@ -3,17 +3,17 @@ use std::collections::HashMap;
use std::time::Duration;
use argon2::{
- password_hash::SaltString, Algorithm, Argon2, Params, PasswordHash, PasswordHasher,
- PasswordVerifier, Version,
+ Algorithm, Argon2, Params, PasswordHash, PasswordHasher, PasswordVerifier, Version,
+ password_hash::SaltString,
};
use axum::{
+ Json,
extract::{Path, State},
http::StatusCode,
- Json,
};
use metrics::counter;
-use postmark::{reqwest::PostmarkClient, Query};
+use postmark::{Query, reqwest::PostmarkClient};
use rand::rngs::OsRng;
use tracing::{debug, error, info, instrument};
@@ -21,8 +21,8 @@ use tracing::{debug, error, info, instrument};
use super::{ErrorResponse, ErrorResponseStatus, RespExt};
use crate::router::{AppState, UserAuth};
use atuin_server_database::{
- models::{NewSession, NewUser},
Database, DbError,
+ models::{NewSession, NewUser},
};
use reqwest::header::CONTENT_TYPE;
@@ -104,7 +104,7 @@ pub async fn register<DB: Database>(
return Err(ErrorResponse::reply(
"Only alphanumeric and hyphens (-) are allowed in usernames",
)
- .with_status(StatusCode::BAD_REQUEST))
+ .with_status(StatusCode::BAD_REQUEST));
}
}
}
@@ -201,12 +201,13 @@ pub async fn send_verification<DB: Database>(
}
// TODO: if we ever add another mail provider, can match on them all here.
- let postmark_token = if let Some(token) = settings.mail.postmark.token {
- token
- } else {
- error!("Failed to verify email: got None for postmark token");
- return Err(ErrorResponse::reply("mail not configured")
- .with_status(StatusCode::INTERNAL_SERVER_ERROR));
+ let postmark_token = match settings.mail.postmark.token {
+ Some(token) => token,
+ _ => {
+ error!("Failed to verify email: got None for postmark token");
+ return Err(ErrorResponse::reply("mail not configured")
+ .with_status(StatusCode::INTERNAL_SERVER_ERROR));
+ }
};
let db = &state.0.database;
diff --git a/crates/atuin-server/src/handlers/v0/record.rs b/crates/atuin-server/src/handlers/v0/record.rs
index 4a6bce16..01b91599 100644
--- a/crates/atuin-server/src/handlers/v0/record.rs
+++ b/crates/atuin-server/src/handlers/v0/record.rs
@@ -1,4 +1,4 @@
-use axum::{extract::Query, extract::State, http::StatusCode, Json};
+use axum::{Json, extract::Query, extract::State, http::StatusCode};
use metrics::counter;
use serde::Deserialize;
use tracing::{error, instrument};
diff --git a/crates/atuin-server/src/lib.rs b/crates/atuin-server/src/lib.rs
index 4c1619bc..7a0e982b 100644
--- a/crates/atuin-server/src/lib.rs
+++ b/crates/atuin-server/src/lib.rs
@@ -4,18 +4,18 @@ use std::future::Future;
use std::net::SocketAddr;
use atuin_server_database::Database;
-use axum::{serve, Router};
-use axum_server::tls_rustls::RustlsConfig;
+use axum::{Router, serve};
use axum_server::Handle;
-use eyre::{eyre, Context, Result};
+use axum_server::tls_rustls::RustlsConfig;
+use eyre::{Context, Result, eyre};
mod handlers;
mod metrics;
mod router;
mod utils;
-pub use settings::example_config;
pub use settings::Settings;
+pub use settings::example_config;
pub mod settings;
diff --git a/crates/atuin-server/src/metrics.rs b/crates/atuin-server/src/metrics.rs
index 0a7ac6bd..ff0fe925 100644
--- a/crates/atuin-server/src/metrics.rs
+++ b/crates/atuin-server/src/metrics.rs
@@ -28,10 +28,9 @@ pub fn setup_metrics_recorder() -> PrometheusHandle {
pub async fn track_metrics(req: Request, next: Next) -> impl IntoResponse {
let start = Instant::now();
- let path = if let Some(matched_path) = req.extensions().get::<MatchedPath>() {
- matched_path.as_str().to_owned()
- } else {
- req.uri().path().to_owned()
+ let path = match req.extensions().get::<MatchedPath>() {
+ Some(matched_path) => matched_path.as_str().to_owned(),
+ _ => req.uri().path().to_owned(),
};
let method = req.method().clone();
diff --git a/crates/atuin-server/src/router.rs b/crates/atuin-server/src/router.rs
index d6700b8d..ae63e1e8 100644
--- a/crates/atuin-server/src/router.rs
+++ b/crates/atuin-server/src/router.rs
@@ -1,12 +1,12 @@
use async_trait::async_trait;
-use atuin_common::api::{ErrorResponse, ATUIN_CARGO_VERSION, ATUIN_HEADER_VERSION};
+use atuin_common::api::{ATUIN_CARGO_VERSION, ATUIN_HEADER_VERSION, ErrorResponse};
use axum::{
+ Router,
extract::{FromRequestParts, Request},
http::{self, request::Parts},
middleware::Next,
response::{IntoResponse, Response},
routing::{delete, get, patch, post},
- Router,
};
use eyre::Result;
use tower::ServiceBuilder;
@@ -18,7 +18,7 @@ use crate::{
metrics,
settings::Settings,
};
-use atuin_server_database::{models::User, Database, DbError};
+use atuin_server_database::{Database, DbError, models::User};
pub struct UserAuth(pub User);
diff --git a/crates/atuin-server/src/settings.rs b/crates/atuin-server/src/settings.rs
index 63763b2c..d5070dae 100644
--- a/crates/atuin-server/src/settings.rs
+++ b/crates/atuin-server/src/settings.rs
@@ -1,9 +1,9 @@
use std::{io::prelude::*, path::PathBuf};
use config::{Config, Environment, File as ConfigFile, FileFormat};
-use eyre::{eyre, Result};
-use fs_err::{create_dir_all, File};
-use serde::{de::DeserializeOwned, Deserialize, Serialize};
+use eyre::{Result, eyre};
+use fs_err::{File, create_dir_all};
+use serde::{Deserialize, Serialize, de::DeserializeOwned};
static EXAMPLE_CONFIG: &str = include_str!("../server.toml");