diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-11 18:02:55 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-11 18:02:55 +0200 |
| commit | 0b6ca5cb8ca4c46265e08e13053260d9b5cff568 (patch) | |
| tree | 9dc656095f806e6dd1177e40b9a87cf6d6f10f1b /crates/turtle/src/atuin_server/handlers/v0 | |
| parent | chore(server): Remove the last remnants of the "hub" sync-server thingy (diff) | |
| download | atuin-0b6ca5cb8ca4c46265e08e13053260d9b5cff568.zip | |
feat(server): Make user stuff stateless
Diffstat (limited to 'crates/turtle/src/atuin_server/handlers/v0')
| -rw-r--r-- | crates/turtle/src/atuin_server/handlers/v0/me.rs | 16 | ||||
| -rw-r--r-- | crates/turtle/src/atuin_server/handlers/v0/mod.rs | 2 | ||||
| -rw-r--r-- | crates/turtle/src/atuin_server/handlers/v0/record.rs | 12 | ||||
| -rw-r--r-- | crates/turtle/src/atuin_server/handlers/v0/store.rs | 36 |
4 files changed, 6 insertions, 60 deletions
diff --git a/crates/turtle/src/atuin_server/handlers/v0/me.rs b/crates/turtle/src/atuin_server/handlers/v0/me.rs deleted file mode 100644 index 1f5f5016..00000000 --- a/crates/turtle/src/atuin_server/handlers/v0/me.rs +++ /dev/null @@ -1,16 +0,0 @@ -use axum::Json; -use tracing::instrument; - -use crate::atuin_server::handlers::ErrorResponseStatus; -use crate::atuin_server::router::UserAuth; - -use crate::atuin_common::api::*; - -#[instrument(skip_all, fields(user.id = user.id))] -pub(crate) async fn get( - UserAuth(user): UserAuth, -) -> Result<Json<MeResponse>, ErrorResponseStatus<'static>> { - Ok(Json(MeResponse { - username: user.username, - })) -} diff --git a/crates/turtle/src/atuin_server/handlers/v0/mod.rs b/crates/turtle/src/atuin_server/handlers/v0/mod.rs index d6f880f2..78fb47b8 100644 --- a/crates/turtle/src/atuin_server/handlers/v0/mod.rs +++ b/crates/turtle/src/atuin_server/handlers/v0/mod.rs @@ -1,3 +1 @@ -pub(crate) mod me; pub(crate) mod record; -pub(crate) mod store; diff --git a/crates/turtle/src/atuin_server/handlers/v0/record.rs b/crates/turtle/src/atuin_server/handlers/v0/record.rs index 88027547..9350e1c8 100644 --- a/crates/turtle/src/atuin_server/handlers/v0/record.rs +++ b/crates/turtle/src/atuin_server/handlers/v0/record.rs @@ -10,7 +10,7 @@ use crate::atuin_server::{ use crate::atuin_common::record::{EncryptedData, HostId, Record, RecordIdx, RecordStatus}; -#[instrument(skip_all, fields(user.id = user.id))] +#[instrument(skip_all, fields(user.id = user.id.to_string()))] pub(crate) async fn post( UserAuth(user): UserAuth, state: State<AppState>, @@ -20,7 +20,7 @@ pub(crate) async fn post( tracing::debug!( count = records.len(), - user = user.username, + user = user.id.to_string(), "request to add records" ); @@ -44,12 +44,12 @@ pub(crate) async fn post( return Err(ErrorResponse::reply("failed to add record") .with_status(StatusCode::INTERNAL_SERVER_ERROR)); - }; + } Ok(()) } -#[instrument(skip_all, fields(user.id = user.id))] +#[instrument(skip_all, fields(user.id = user.id.to_string()))] pub(crate) async fn index( UserAuth(user): UserAuth, state: State<AppState>, @@ -69,7 +69,7 @@ pub(crate) async fn index( } }; - tracing::debug!(user = user.username, "record index request"); + tracing::debug!(user = user.id.to_string(), "record index request"); Ok(Json(record_index)) } @@ -82,7 +82,7 @@ pub(crate) struct NextParams { count: u64, } -#[instrument(skip_all, fields(user.id = user.id))] +#[instrument(skip_all, fields(user.id = user.id.to_string()))] pub(crate) async fn next( params: Query<NextParams>, UserAuth(user): UserAuth, diff --git a/crates/turtle/src/atuin_server/handlers/v0/store.rs b/crates/turtle/src/atuin_server/handlers/v0/store.rs deleted file mode 100644 index f0aa1b36..00000000 --- a/crates/turtle/src/atuin_server/handlers/v0/store.rs +++ /dev/null @@ -1,36 +0,0 @@ -use axum::{extract::Query, extract::State, http::StatusCode}; -use metrics::counter; -use serde::Deserialize; -use tracing::{error, instrument}; - -use crate::atuin_server::{ - handlers::{ErrorResponse, ErrorResponseStatus, RespExt}, - router::{AppState, UserAuth}, -}; - -#[derive(Deserialize)] -pub(crate) struct DeleteParams {} - -#[instrument(skip_all, fields(user.id = user.id))] -pub(crate) async fn delete( - _params: Query<DeleteParams>, - UserAuth(user): UserAuth, - state: State<AppState>, -) -> Result<(), ErrorResponseStatus<'static>> { - let State(AppState { - database, - settings: _, - }) = state; - - if let Err(e) = database.delete_store(&user).await { - counter!("atuin_store_delete_failed").increment(1); - error!("failed to delete store {e:?}"); - - return Err(ErrorResponse::reply("failed to delete store") - .with_status(StatusCode::INTERNAL_SERVER_ERROR)); - } - - counter!("atuin_store_deleted").increment(1); - - Ok(()) -} |
