refactor(api-server): narrow puzzle state surface
This commit is contained in:
@@ -46,6 +46,21 @@ impl SpacetimeClient {
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn get_asset_object(
|
||||
&self,
|
||||
asset_object_id: String,
|
||||
) -> Result<Option<AssetObjectRecord>, SpacetimeClientError> {
|
||||
self.read_after_connect("get_asset_object", move |connection| {
|
||||
Ok(connection
|
||||
.db()
|
||||
.asset_object()
|
||||
.asset_object_id()
|
||||
.find(&asset_object_id)
|
||||
.map(map_asset_object_row))
|
||||
})
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn bind_asset_object_to_entity(
|
||||
&self,
|
||||
input: module_assets::AssetEntityBindingInput,
|
||||
|
||||
@@ -585,6 +585,7 @@ impl SpacetimeClient {
|
||||
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'big-fish'",
|
||||
"SELECT * FROM creation_entry_config",
|
||||
"SELECT * FROM creation_entry_type_config",
|
||||
"SELECT * FROM asset_object",
|
||||
] {
|
||||
if let Ok(subscription) = self
|
||||
.subscribe_cached_read_model_query(connection, broken.clone(), query, false)
|
||||
|
||||
@@ -120,7 +120,9 @@ pub use self::runtime_profile::{
|
||||
pub use self::story::{VisualNovelRuntimeEventRecord, VisualNovelRuntimeEventRecordInput};
|
||||
|
||||
pub(crate) use self::ai::map_ai_task_procedure_result;
|
||||
pub(crate) use self::assets::{map_entity_binding_procedure_result, map_procedure_result};
|
||||
pub(crate) use self::assets::{
|
||||
map_asset_object_row, map_entity_binding_procedure_result, map_procedure_result,
|
||||
};
|
||||
pub(crate) use self::auth::{
|
||||
map_auth_store_snapshot_import_procedure_result, map_auth_store_snapshot_procedure_result,
|
||||
};
|
||||
|
||||
@@ -115,6 +115,26 @@ pub(crate) fn map_snapshot(
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn map_asset_object_row(row: AssetObject) -> AssetObjectRecord {
|
||||
build_asset_object_record(module_assets::AssetObjectUpsertSnapshot {
|
||||
asset_object_id: row.asset_object_id,
|
||||
bucket: row.bucket,
|
||||
object_key: row.object_key,
|
||||
access_policy: map_access_policy_back(row.access_policy),
|
||||
content_type: row.content_type,
|
||||
content_length: row.content_length,
|
||||
content_hash: row.content_hash,
|
||||
version: row.version,
|
||||
source_job_id: row.source_job_id,
|
||||
owner_user_id: row.owner_user_id,
|
||||
profile_id: row.profile_id,
|
||||
entity_id: row.entity_id,
|
||||
asset_kind: row.asset_kind,
|
||||
created_at_micros: row.created_at.to_micros_since_unix_epoch(),
|
||||
updated_at_micros: row.updated_at.to_micros_since_unix_epoch(),
|
||||
})
|
||||
}
|
||||
|
||||
pub(crate) fn map_access_policy(
|
||||
value: AssetObjectAccessPolicy,
|
||||
) -> crate::module_bindings::AssetObjectAccessPolicy {
|
||||
|
||||
Reference in New Issue
Block a user