052d656a52
公开资产 metadata 和作品授权改为在同一 SpacetimeDB 事务快照中判断 移除连接级公开授权订阅缓存对 ACL 的参与 公开读取签名有效期上限固定为 600 秒并保留 owner 和 admin 行为 同步生成 bindings 并更新后端契约与项目记忆
55 lines
1.7 KiB
Rust
55 lines
1.7 KiB
Rust
//! 资产应用编排返回类型。
|
|
//!
|
|
//! 这里只组合纯校验与应用结果;对象探测、签名和持久化由 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<AssetObjectUpsertSnapshot>,
|
|
pub error_message: Option<String>,
|
|
}
|
|
|
|
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct AssetObjectReadAccessProcedureResult {
|
|
pub ok: bool,
|
|
pub record: Option<AssetObjectUpsertSnapshot>,
|
|
pub public_work_granted: bool,
|
|
pub error_message: Option<String>,
|
|
}
|
|
|
|
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct AssetHistoryListResult {
|
|
pub ok: bool,
|
|
pub entries: Vec<AssetHistoryEntrySnapshot>,
|
|
pub error_message: Option<String>,
|
|
}
|
|
|
|
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct AssetEntityBindingProcedureResult {
|
|
pub ok: bool,
|
|
pub record: Option<AssetEntityBindingSnapshot>,
|
|
pub error_message: Option<String>,
|
|
}
|
|
|
|
#[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,
|
|
};
|