pub struct PlanState {
pub venture: String,
pub host: String,
pub public_url: Option<String>,
pub cors_origins: Vec<String>,
pub env: String,
pub modules: Vec<String>,
pub selected: Vec<SelectedModule>,
pub config: BTreeMap<String, String>,
pub seed_sql: Option<String>,
pub migrations: MigrationState,
}Expand description
The destination a plan describes: what the venture will become,
independent of what it is now. The sha256 over this struct’s JSON
is the plan digest — the approval token — because an approval is of
the destination, not of the journey: the baseline-dependent deltas
(PlanContent’s added/removed lists) describe the journey and
change the moment a deployment is recorded, so hashing them would
make every deploy stale by its own success.
Fields§
§venture: StringThe venture name from the manifest.
host: StringThe primary host from the manifest.
public_url: Option<String>The canonical public URL, when the manifest sets one.
cors_origins: Vec<String>Browser origins allowed to call the API, sorted.
env: StringThe resolved deployment environment (the manifest config’s
ENV key; development when unset or unrecognised).
modules: Vec<String>The resolved module set — dependencies before dependants — sorted, so manifest order cannot move the digest.
selected: Vec<SelectedModule>The author’s selection normalised: slug plus per-module config, sorted by slug. Per-module config changes are digest-visible here even when the resolved set is unchanged.
config: BTreeMap<String, String>The venture-wide config the manifest declares.
seed_sql: Option<String>The seed SQL the manifest declares, if any.
migrations: MigrationStateMigration status per resolved module, from the lockfile.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PlanState
impl<'de> Deserialize<'de> for PlanState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for PlanState
impl StructuralPartialEq for PlanState
Auto Trait Implementations§
impl Freeze for PlanState
impl RefUnwindSafe for PlanState
impl Send for PlanState
impl Sync for PlanState
impl Unpin for PlanState
impl UnsafeUnpin for PlanState
impl UnwindSafe for PlanState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.