aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/store.rs
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
commit656cd21ce2625a8a2931b5b03d1d84227dd7e3e8 (patch)
tree8441c5ea268ffde428e39b869bf95552167d03c5 /src/api/store.rs
parentd2c05c17bc58cdbedfb0a702b2858c52aff2eedf (diff)
record node ID and API user for every write
Diffstat (limited to 'src/api/store.rs')
-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"))?;