aboutsummaryrefslogtreecommitdiffstats
path: root/src/api
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-01 22:22:41 +0100
committertv <tv@krebsco.de>2026-11-01 22:22:41 +0100
commitb2273bc74e18201318f1e86b0f27a6a3cd874629 (patch)
tree64bb39b785553432b81ba87c6bbc59d6bc79e078 /src/api
parent8b5528b9d0135ec67be504c92e1740fc9a78b6e0 (diff)
record node ID and API user for every write
Diffstat (limited to 'src/api')
-rw-r--r--src/api/store.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/api/store.rs b/src/api/store.rs
index f121ff6..82cac30 100644
--- a/src/api/store.rs
+++ b/src/api/store.rs
@@ -202,7 +202,9 @@ pub(crate) async fn put_store_entry(
let written = value.clone();
state
- .mutate_doc(move |doc| store::write_path(doc, &path, &written))
+ .mutate_doc_for(Some(user.0.clone()), move |doc| {
+ store::write_path(doc, &path, &written)
+ })
.await
.map_err(|e| store_status(e, "Failed to write store value"))?;
@@ -330,7 +332,9 @@ pub(crate) async fn post_store_entry(
let index = path.last().and_then(|leaf| store::list_index(leaf));
let value = body_value(&headers, &body)?;
let inserted = state
- .mutate_doc(move |doc| store::insert_path(doc, &path, &value))
+ .mutate_doc_for(Some(user.0.clone()), move |doc| {
+ store::insert_path(doc, &path, &value)
+ })
.await;
match inserted {
Ok(()) => Ok((
@@ -369,7 +373,9 @@ pub(crate) async fn delete_store_entry(
let prune = query.prune;
state
- .mutate_doc(move |doc| store::delete_path(doc, &path, prune))
+ .mutate_doc_for(Some(user.0.clone()), move |doc| {
+ store::delete_path(doc, &path, prune)
+ })
.await
.map_err(|e| store_status(e, "Failed to delete store value"))?;