pub enum DeleteOutcome {
NotFound,
Cancelled,
Deleted(Deleted),
LiveCertificates(u64),
}Expand description
Outcome of a confirm-gated hard delete.
Cancelled only exists on the confirm_* wrappers: a caller with nobody
to ask – the web admin – uses the bare function below, whose return type
has no such variant to leave unhandled.
Variants§
NotFound
Cancelled
Deleted(Deleted)
Deleted, carrying what went with it.
The count travels out of the confirmation rather than being read
back afterwards, and that is the point: it is already computed here to
word the prompt, and by the time the caller returns, the
ON DELETE CASCADE has removed the very rows a second count would
count. acme-proxy account delete did exactly that, so every one of its
audit rows read 0 order(s) cascaded however many there were.
LiveCertificates(u64)
Refused: the subject holds this many live certificates, and deleting its
order rows would leave them impossible to revoke. See
live_certificates_refusal for what to tell the operator, and
live_certificate! in crates/store/src/order.rs for what “live” means.
Only an account or an order can answer this; an operator’s delete
answers admin::users::UserDeleteOutcome, which has no such variant.
Trait Implementations§
Source§impl Debug for DeleteOutcome
impl Debug for DeleteOutcome
impl Eq for DeleteOutcome
Source§impl From<Deletion> for DeleteOutcome
impl From<Deletion> for DeleteOutcome
Source§impl PartialEq for DeleteOutcome
impl PartialEq for DeleteOutcome
impl StructuralPartialEq for DeleteOutcome
Auto Trait Implementations§
impl Freeze for DeleteOutcome
impl RefUnwindSafe for DeleteOutcome
impl Send for DeleteOutcome
impl Sync for DeleteOutcome
impl Unpin for DeleteOutcome
impl UnsafeUnpin for DeleteOutcome
impl UnwindSafe for DeleteOutcome
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more