pub struct Facts {
pub has_mail_binary: bool,
pub has_docs_binary: bool,
pub has_graph_binary: bool,
pub mail_accounts: Option<usize>,
pub docs_accounts: Option<usize>,
pub slack_linked: Option<bool>,
pub props: Option<Props>,
pub provider_credential: bool,
pub scheduler_installed: bool,
pub trigger_count: usize,
}Expand description
Everything the impure half gathered, so plan can stay a function.
A struct rather than a pile of arguments because it is going to grow, and because a caller that has to remember the order of six booleans will eventually get one wrong in a way that reads as a working install.
Fields§
§has_mail_binary: boolWhich helper binaries are on PATH. A crates.io install gets each
from its own cargo install, so “is it in the workspace” is the
wrong question — presence on PATH is the one that matters.
has_docs_binary: bool§has_graph_binary: bool§mail_accounts: Option<usize>Whether any account/credential store has something in it. None
where the directory could not be read — see Status::Unknown.
docs_accounts: Option<usize>§slack_linked: Option<bool>§props: Option<Props>What the default provider’s server said about itself, when it is local and answered.
provider_credential: boolWhether the configured provider has a usable credential.
scheduler_installed: boolWhether a trigger scheduler is running or installed.
trigger_count: usize