diff options
| author | tv <tv@krebsco.de> | 2026-11-01 22:22:41 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-01 22:22:41 +0100 |
| commit | b2273bc74e18201318f1e86b0f27a6a3cd874629 (patch) | |
| tree | 64bb39b785553432b81ba87c6bbc59d6bc79e078 /src/api/store.rs | |
| parent | 8b5528b9d0135ec67be504c92e1740fc9a78b6e0 (diff) | |
record node ID and API user for every write
Diffstat (limited to 'src/api/store.rs')
| -rw-r--r-- | src/api/store.rs | 12 |
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"))?; |
