pub struct ApprovalsRepo<'a> { /* private fields */ }Implementations§
Source§impl ApprovalsRepo<'_>
impl ApprovalsRepo<'_>
pub fn create(&self, new: NewApproval) -> Result<ApprovalRecord>
pub fn get(&self, id: &str) -> Result<Option<ApprovalRecord>>
pub fn decide(&self, id: &str, user_decision: &str) -> Result<()>
Sourcepub fn claim(&self, id: &str) -> Result<bool>
pub fn claim(&self, id: &str) -> Result<bool>
Atomically claim an undecided approval for replay (#118). Sets
user_decision='approving' only when it is currently NULL and
un-archived, and reports whether THIS caller won the claim. Two concurrent
approve <id> calls race this single UPDATE; exactly one sees
rows_affected == 1 and runs the un-rollback-able effect, the other sees
false and bails — so the effect can’t fire twice. A claim that crashes
before finalizing is reset to NULL by the daemon’s startup reconcile.
Sourcepub fn release_claim(&self, id: &str) -> Result<()>
pub fn release_claim(&self, id: &str) -> Result<()>
Release a claim taken by Self::claim back to undecided, so the action
stays re-runnable after the replay effect failed.
Sourcepub fn finalize_claimed(&self, id: &str, user_decision: &str) -> Result<()>
pub fn finalize_claimed(&self, id: &str, user_decision: &str) -> Result<()>
Finalize a claimed approval’s decision (the approving → terminal-value
transition that Self::decide’s WHERE user_decision IS NULL can’t make).
pub fn list_pending(&self) -> Result<Vec<ApprovalRecord>>
pub fn list_pending_all(&self) -> Result<Vec<ApprovalRecord>>
pub fn list_all(&self, limit: usize) -> Result<Vec<ApprovalRecord>>
pub fn archive(&self, ids: &[String], reason: &str) -> Result<usize>
pub fn count_archived(&self) -> Result<usize>
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ApprovalsRepo<'a>
impl<'a> !Send for ApprovalsRepo<'a>
impl<'a> !Sync for ApprovalsRepo<'a>
impl<'a> !UnwindSafe for ApprovalsRepo<'a>
impl<'a> Freeze for ApprovalsRepo<'a>
impl<'a> Unpin for ApprovalsRepo<'a>
impl<'a> UnsafeUnpin for ApprovalsRepo<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more