aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-server/src
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2024-04-16 15:59:11 +0100
committerGitHub <noreply@github.com>2024-04-16 15:59:11 +0100
commit19f70cdc918769e0485b0e4aba4069327e96dc3b (patch)
tree70a8951c529213451ca57e04bca0f8407673aee7 /atuin-server/src
parentchore(release): prepare for release v18.2.0 (#1950) (diff)
downloadatuin-19f70cdc918769e0485b0e4aba4069327e96dc3b.zip
feat(server): add me endpoint (#1954)
Diffstat (limited to 'atuin-server/src')
-rw-r--r--atuin-server/src/handlers/v0/me.rs16
-rw-r--r--atuin-server/src/handlers/v0/mod.rs1
-rw-r--r--atuin-server/src/router.rs1
3 files changed, 18 insertions, 0 deletions
diff --git a/atuin-server/src/handlers/v0/me.rs b/atuin-server/src/handlers/v0/me.rs
new file mode 100644
index 00000000..7960b479
--- /dev/null
+++ b/atuin-server/src/handlers/v0/me.rs
@@ -0,0 +1,16 @@
+use axum::Json;
+use tracing::instrument;
+
+use crate::handlers::ErrorResponseStatus;
+use crate::router::UserAuth;
+
+use atuin_common::api::*;
+
+#[instrument(skip_all, fields(user.id = user.id))]
+pub async fn get(
+ UserAuth(user): UserAuth,
+) -> Result<Json<MeResponse>, ErrorResponseStatus<'static>> {
+ Ok(Json(MeResponse {
+ username: user.username,
+ }))
+}
diff --git a/atuin-server/src/handlers/v0/mod.rs b/atuin-server/src/handlers/v0/mod.rs
index 2d6745cf..d6f880f2 100644
--- a/atuin-server/src/handlers/v0/mod.rs
+++ b/atuin-server/src/handlers/v0/mod.rs
@@ -1,2 +1,3 @@
+pub(crate) mod me;
pub(crate) mod record;
pub(crate) mod store;
diff --git a/atuin-server/src/router.rs b/atuin-server/src/router.rs
index 52fc1484..96dff2bd 100644
--- a/atuin-server/src/router.rs
+++ b/atuin-server/src/router.rs
@@ -125,6 +125,7 @@ pub fn router<DB: Database>(database: DB, settings: Settings<DB::Settings>) -> R
.route("/record", post(handlers::record::post::<DB>))
.route("/record", get(handlers::record::index::<DB>))
.route("/record/next", get(handlers::record::next))
+ .route("/api/v0/me", get(handlers::v0::me::get))
.route("/api/v0/record", post(handlers::v0::record::post))
.route("/api/v0/record", get(handlers::v0::record::index))
.route("/api/v0/record/next", get(handlers::v0::record::next))