aboutsummaryrefslogtreecommitdiffstats
path: root/src/remake/mod.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-07 22:35:21 +0100
committertv <tv@krebsco.de>2026-11-07 22:35:21 +0100
commit046b738c74f62469f7a080415690e2dacd85e1e6 (patch)
treed38a6903535d5fcc4f88e697cada351a25a3cf72 /src/remake/mod.rs
parentd7a6bc3ed201ff2ca953f74f62154e5e17728f22 (diff)
remake: forgetting and releasing name their user
Forget records and released quarantines name the user who made them, so they are judged by its capabilities. Auth plan M6.
Diffstat (limited to 'src/remake/mod.rs')
-rw-r--r--src/remake/mod.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/remake/mod.rs b/src/remake/mod.rs
index 67fa77b..342eab3 100644
--- a/src/remake/mod.rs
+++ b/src/remake/mod.rs
@@ -297,6 +297,19 @@ pub(crate) trait Host: Clone + Send + Sync + 'static {
T: Send + 'static,
E: From<StoreError> + Send + 'static;
+ /// [`commit_doc`](Self::commit_doc) for `user`, who asked through the API: the
+ /// change names them (`replica::Writer`), as rules by path judge it
+ /// (`access::rules`).
+ fn commit_doc_for<T, E, F>(
+ &self,
+ user: Option<String>,
+ f: F,
+ ) -> impl Future<Output = Result<T, E>> + Send
+ where
+ F: FnOnce(&mut Transaction<'_>) -> Result<T, E> + Send + 'static,
+ T: Send + 'static,
+ E: From<StoreError> + Send + 'static;
+
/// What a replay does with writes a newer one superseded (`--superseded-writes`).
fn superseded(&self) -> Superseded;