//! 资产应用编排返回类型。 //! //! 这里只组合纯校验与应用结果;对象探测、签名和持久化由 adapter 层完成。 use serde::{Deserialize, Serialize}; #[cfg(feature = "spacetime-types")] use spacetimedb::SpacetimeType; use crate::domain::{ AssetEntityBindingSnapshot, AssetHistoryEntrySnapshot, AssetObjectRecord, AssetObjectUpsertSnapshot, }; #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct AssetObjectProcedureResult { pub ok: bool, pub record: Option, pub error_message: Option, } #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct AssetHistoryListResult { pub ok: bool, pub entries: Vec, pub error_message: Option, } #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct AssetEntityBindingProcedureResult { pub ok: bool, pub record: Option, pub error_message: Option, } #[derive(Clone, Debug, PartialEq, Eq)] pub struct ConfirmAssetObjectResult { pub record: AssetObjectRecord, } pub use crate::asset_object_core::{ build_asset_entity_binding_input, build_asset_object_upsert_input, };