feat: add wooden fish play template

This commit is contained in:
2026-05-21 23:34:07 +08:00
parent ef09a23c35
commit 5b0f9f3763
121 changed files with 11580 additions and 159 deletions

View File

@@ -12,6 +12,7 @@ module-combat = { workspace = true }
module-custom-world = { workspace = true }
module-inventory = { workspace = true }
module-jump-hop = { workspace = true }
module-wooden-fish = { workspace = true }
module-match3d = { workspace = true }
module-npc = { workspace = true }
module-puzzle = { workspace = true }

View File

@@ -5,11 +5,11 @@ use crate::mapper::{
map_jump_hop_works_procedure_result,
};
use shared_contracts::jump_hop::{
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset, JumpHopDifficulty,
JumpHopDraftResponse, JumpHopGalleryResponse, JumpHopGenerationStatus, JumpHopJumpRequest,
JumpHopRestartRunRequest, JumpHopRuntimeRunSnapshotResponse, JumpHopSessionSnapshotResponse,
JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset, JumpHopTileType,
JumpHopWorkProfileResponse,
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopRestartRunRequest, JumpHopRuntimeRunSnapshotResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkProfileResponse,
};
use shared_kernel::build_prefixed_uuid_id;
@@ -21,10 +21,9 @@ impl SpacetimeClient {
&self,
session: JumpHopSessionSnapshotResponse,
) -> Result<JumpHopSessionSnapshotResponse, SpacetimeClientError> {
let draft = session
.draft
.clone()
.ok_or_else(|| SpacetimeClientError::validation_failed("jump-hop session 缺少 draft"))?;
let draft = session.draft.clone().ok_or_else(|| {
SpacetimeClientError::validation_failed("jump-hop session 缺少 draft")
})?;
let theme_tags_json = Some(json_string(&draft.theme_tags)?);
let config_json = Some(build_config_json(&draft)?);
let work_title = draft.work_title.clone();
@@ -164,15 +163,14 @@ impl SpacetimeClient {
procedure_input: JumpHopWorkUpdateInput,
) -> Result<JumpHopWorkProfileResponse, SpacetimeClientError> {
self.call_after_connect("update_jump_hop_work", move |connection, sender| {
connection.procedures().update_jump_hop_work_then(
procedure_input,
move |_, result| {
connection
.procedures()
.update_jump_hop_work_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_work_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -212,15 +210,14 @@ impl SpacetimeClient {
};
self.call_after_connect("list_jump_hop_works", move |connection, sender| {
connection.procedures().list_jump_hop_works_then(
procedure_input,
move |_, result| {
connection
.procedures()
.list_jump_hop_works_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_works_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -229,7 +226,8 @@ impl SpacetimeClient {
&self,
profile_id: String,
) -> Result<JumpHopWorkProfileResponse, SpacetimeClientError> {
self.get_jump_hop_work_profile(profile_id, String::new()).await
self.get_jump_hop_work_profile(profile_id, String::new())
.await
}
pub async fn start_jump_hop_run(
@@ -253,15 +251,14 @@ impl SpacetimeClient {
procedure_input: JumpHopRunStartInput,
) -> Result<JumpHopRuntimeRunSnapshotResponse, SpacetimeClientError> {
self.call_after_connect("start_jump_hop_run", move |connection, sender| {
connection.procedures().start_jump_hop_run_then(
procedure_input,
move |_, result| {
connection
.procedures()
.start_jump_hop_run_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_run_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -277,15 +274,14 @@ impl SpacetimeClient {
};
self.call_after_connect("get_jump_hop_run", move |connection, sender| {
connection.procedures().get_jump_hop_run_then(
procedure_input,
move |_, result| {
connection
.procedures()
.get_jump_hop_run_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_run_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -305,15 +301,14 @@ impl SpacetimeClient {
};
self.call_after_connect("jump_hop_jump", move |connection, sender| {
connection.procedures().jump_hop_jump_then(
procedure_input,
move |_, result| {
connection
.procedures()
.jump_hop_jump_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_run_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -333,15 +328,14 @@ impl SpacetimeClient {
};
self.call_after_connect("restart_jump_hop_run", move |connection, sender| {
connection.procedures().restart_jump_hop_run_then(
procedure_input,
move |_, result| {
connection
.procedures()
.restart_jump_hop_run_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_jump_hop_run_procedure_result);
send_once(&sender, mapped);
},
);
});
})
.await
}
@@ -430,16 +424,16 @@ fn build_jump_hop_action_plan(
JumpHopAssetRefresh::Preserve,
now_micros,
)?),
JumpHopActionType::RegenerateCharacter => JumpHopActionProcedure::Compile(
build_compile_input(
JumpHopActionType::RegenerateCharacter => {
JumpHopActionProcedure::Compile(build_compile_input(
current,
owner_user_id,
&profile_id,
&mut draft,
JumpHopAssetRefresh::Character,
now_micros,
)?,
),
)?)
}
JumpHopActionType::RegenerateTiles => JumpHopActionProcedure::Compile(build_compile_input(
current,
owner_user_id,
@@ -472,7 +466,11 @@ fn merge_action_into_draft(
scope,
JumpHopDraftMergeScope::CompileDraft | JumpHopDraftMergeScope::UpdateWorkMeta
) {
if let Some(value) = payload.work_title.as_ref().filter(|value| !value.trim().is_empty()) {
if let Some(value) = payload
.work_title
.as_ref()
.filter(|value| !value.trim().is_empty())
{
draft.work_title = value.trim().to_string();
}
if let Some(value) = payload.work_description.as_ref() {
@@ -523,7 +521,9 @@ fn merge_action_into_draft(
draft.tile_prompt = value.trim().to_string();
}
if draft.work_title.trim().is_empty() {
return Err(SpacetimeClientError::validation_failed("jump-hop work_title 不能为空"));
return Err(SpacetimeClientError::validation_failed(
"jump-hop work_title 不能为空",
));
}
Ok(draft)
}
@@ -762,7 +762,9 @@ fn ensure_tile_assets(
.map(|(index, tile_type)| JumpHopTileAsset {
tile_type,
image_src: format!("/generated-jump-hop-assets/{profile_id}/tiles/{index}{suffix}.png"),
image_object_key: format!("generated-jump-hop-assets/{profile_id}/tiles/{index}{suffix}.png"),
image_object_key: format!(
"generated-jump-hop-assets/{profile_id}/tiles/{index}{suffix}.png"
),
asset_object_id: format!("{profile_id}-tile-{index}{suffix}-object"),
source_atlas_cell: format!("cell-{index}{suffix}"),
visual_width: 256,
@@ -788,7 +790,9 @@ fn resolve_cover_composite(
{
return Some(value.to_string());
}
let suffix = asset_revision_suffix((!matches!(refresh, JumpHopAssetRefresh::Preserve)).then_some(now_micros));
let suffix = asset_revision_suffix(
(!matches!(refresh, JumpHopAssetRefresh::Preserve)).then_some(now_micros),
);
Some(format!(
"/generated-jump-hop-assets/{profile_id}/cover-composite{suffix}.png"
))
@@ -850,9 +854,27 @@ mod tests {
assert_eq!(input.session_id, SESSION_ID);
assert_eq!(input.owner_user_id, OWNER_USER_ID);
assert_eq!(input.generation_status.as_deref(), Some("ready"));
assert!(input.character_asset_json.as_deref().unwrap_or("").contains("-character"));
assert!(input.tile_atlas_asset_json.as_deref().unwrap_or("").contains("-tile-atlas"));
assert!(input.tile_assets_json.as_deref().unwrap_or("").contains("tile-0-object"));
assert!(
input
.character_asset_json
.as_deref()
.unwrap_or("")
.contains("-character")
);
assert!(
input
.tile_atlas_asset_json
.as_deref()
.unwrap_or("")
.contains("-tile-atlas")
);
assert!(
input
.tile_assets_json
.as_deref()
.unwrap_or("")
.contains("tile-0-object")
);
assert_eq!(draft.generation_status, JumpHopGenerationStatus::Ready);
}
@@ -869,10 +891,34 @@ mod tests {
let JumpHopActionProcedure::Compile(input) = plan else {
panic!("regenerate-character should call compile_jump_hop_draft");
};
assert!(!input.character_asset_json.as_deref().unwrap_or("").contains("old-character"));
assert!(input.character_asset_json.as_deref().unwrap_or("").contains(&NOW_MICROS.to_string()));
assert!(input.tile_atlas_asset_json.as_deref().unwrap_or("").contains("old-tile-atlas"));
assert!(input.tile_assets_json.as_deref().unwrap_or("").contains("old-normal-tile"));
assert!(
!input
.character_asset_json
.as_deref()
.unwrap_or("")
.contains("old-character")
);
assert!(
input
.character_asset_json
.as_deref()
.unwrap_or("")
.contains(&NOW_MICROS.to_string())
);
assert!(
input
.tile_atlas_asset_json
.as_deref()
.unwrap_or("")
.contains("old-tile-atlas")
);
assert!(
input
.tile_assets_json
.as_deref()
.unwrap_or("")
.contains("old-normal-tile")
);
}
#[test]
@@ -888,11 +934,41 @@ mod tests {
let JumpHopActionProcedure::Compile(input) = plan else {
panic!("regenerate-tiles should call compile_jump_hop_draft");
};
assert!(input.character_asset_json.as_deref().unwrap_or("").contains("old-character"));
assert!(!input.tile_atlas_asset_json.as_deref().unwrap_or("").contains("old-tile-atlas"));
assert!(!input.tile_assets_json.as_deref().unwrap_or("").contains("old-normal-tile"));
assert!(input.tile_atlas_asset_json.as_deref().unwrap_or("").contains(&NOW_MICROS.to_string()));
assert!(input.tile_assets_json.as_deref().unwrap_or("").contains(&NOW_MICROS.to_string()));
assert!(
input
.character_asset_json
.as_deref()
.unwrap_or("")
.contains("old-character")
);
assert!(
!input
.tile_atlas_asset_json
.as_deref()
.unwrap_or("")
.contains("old-tile-atlas")
);
assert!(
!input
.tile_assets_json
.as_deref()
.unwrap_or("")
.contains("old-normal-tile")
);
assert!(
input
.tile_atlas_asset_json
.as_deref()
.unwrap_or("")
.contains(&NOW_MICROS.to_string())
);
assert!(
input
.tile_assets_json
.as_deref()
.unwrap_or("")
.contains(&NOW_MICROS.to_string())
);
}
#[test]
@@ -934,8 +1010,20 @@ mod tests {
};
assert_eq!(input.difficulty.as_deref(), Some("challenge"));
assert!(input.style_preset.is_none());
assert_eq!(draft.character_asset.as_ref().map(|asset| asset.asset_id.as_str()), Some("old-character"));
assert_eq!(draft.tile_assets.first().map(|asset| asset.asset_object_id.as_str()), Some("old-normal-tile-object"));
assert_eq!(
draft
.character_asset
.as_ref()
.map(|asset| asset.asset_id.as_str()),
Some("old-character")
);
assert_eq!(
draft
.tile_assets
.first()
.map(|asset| asset.asset_object_id.as_str()),
Some("old-normal-tile-object")
);
}
fn action(action_type: JumpHopActionType) -> JumpHopActionRequest {

View File

@@ -30,16 +30,8 @@ pub use mapper::{
CustomWorldPublishGateRecord, CustomWorldPublishWorldRecord,
CustomWorldPublishWorldRecordInput, CustomWorldPublishedProfileCompileRecord,
CustomWorldResultPreviewBlockerRecord, CustomWorldSupportedActionRecord,
CustomWorldWorkSummaryRecord, Match3DAgentMessageFinalizeRecordInput,
Match3DAgentMessageRecord, Match3DAgentMessageSubmitRecordInput,
Match3DAgentSessionCreateRecordInput, Match3DAgentSessionRecord, Match3DAnchorItemRecord,
Match3DAnchorPackRecord, Match3DClickConfirmationRecord, Match3DCompileDraftRecordInput,
Match3DCreatorConfigRecord, Match3DItemSnapshotRecord, Match3DResultDraftRecord,
Match3DRunClickRecordInput, Match3DRunRecord, Match3DRunRestartRecordInput,
Match3DRunStartRecordInput, Match3DRunStopRecordInput, Match3DRunTimeUpRecordInput,
Match3DTraySlotRecord, Match3DWorkProfileRecord, Match3DWorkUpdateRecordInput,
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
CustomWorldWorkSummaryRecord, JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType,
JumpHopCharacterAsset, JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
@@ -47,7 +39,14 @@ pub use mapper::{
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
JumpHopWorkspaceCreateRequest, Match3DAgentMessageFinalizeRecordInput,
Match3DAgentMessageRecord, Match3DAgentMessageSubmitRecordInput,
Match3DAgentSessionCreateRecordInput, Match3DAgentSessionRecord, Match3DAnchorItemRecord,
Match3DAnchorPackRecord, Match3DClickConfirmationRecord, Match3DCompileDraftRecordInput,
Match3DCreatorConfigRecord, Match3DItemSnapshotRecord, Match3DResultDraftRecord,
Match3DRunClickRecordInput, Match3DRunRecord, Match3DRunRestartRecordInput,
Match3DRunStartRecordInput, Match3DRunStopRecordInput, Match3DRunTimeUpRecordInput,
Match3DTraySlotRecord, Match3DWorkProfileRecord, Match3DWorkUpdateRecordInput,
NpcBattleInteractionRecord, NpcInteractionRecord, NpcStateRecord,
PuzzleAgentMessageFinalizeRecordInput, PuzzleAgentMessageRecord,
PuzzleAgentMessageSubmitRecordInput, PuzzleAgentSessionCreateRecordInput,
@@ -80,7 +79,15 @@ pub use mapper::{
VisualNovelHistoryEntryRecordInput, VisualNovelRunRecord, VisualNovelRunSnapshotRecordInput,
VisualNovelRunStartRecordInput, VisualNovelRuntimeEventRecord,
VisualNovelRuntimeEventRecordInput, VisualNovelWorkCompileRecordInput,
VisualNovelWorkProfileRecord, VisualNovelWorkUpdateRecordInput,
VisualNovelWorkProfileRecord, VisualNovelWorkUpdateRecordInput, WoodenFishActionRequest,
WoodenFishActionResponse, WoodenFishActionType, WoodenFishAudioAsset,
WoodenFishCheckpointRunRequest, WoodenFishDraftResponse, WoodenFishFinishRunRequest,
WoodenFishGalleryCardResponse, WoodenFishGalleryDetailResponse, WoodenFishGalleryResponse,
WoodenFishGenerationStatus, WoodenFishImageAsset, WoodenFishRunResponse, WoodenFishRunStatus,
WoodenFishRuntimeRunSnapshotResponse, WoodenFishSessionResponse,
WoodenFishSessionSnapshotResponse, WoodenFishStartRunRequest, WoodenFishWordCounter,
WoodenFishWorkDetailResponse, WoodenFishWorkMutationResponse, WoodenFishWorkProfileResponse,
WoodenFishWorkSummaryResponse, WoodenFishWorkspaceCreateRequest,
};
pub mod ai;
@@ -105,6 +112,7 @@ pub mod square_hole;
pub mod story;
pub mod story_runtime;
pub mod visual_novel;
pub mod wooden_fish;
use std::{
collections::HashMap,
@@ -563,6 +571,7 @@ impl SpacetimeClient {
for query in [
"SELECT * FROM puzzle_gallery_card_view",
"SELECT * FROM jump_hop_gallery_card_view",
"SELECT * FROM wooden_fish_gallery_card_view",
"SELECT * FROM custom_world_gallery_entry",
"SELECT * FROM match_3_d_gallery_view",
"SELECT * FROM square_hole_gallery_view",
@@ -578,6 +587,7 @@ impl SpacetimeClient {
for query in [
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'puzzle'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'jump-hop'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'wooden-fish'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'custom-world'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'match3d'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'square-hole'",

View File

@@ -18,6 +18,7 @@ mod runtime_profile;
mod square_hole;
mod story;
mod visual_novel;
mod wooden_fish;
pub use self::ai::{
AiResultReferenceRecord, AiTaskMutationRecord, AiTaskRecord, AiTaskStageRecord,
@@ -36,18 +37,6 @@ pub use self::combat::{
BarkBattleDraftConfigRecord, BarkBattleRunRecord, BarkBattleRuntimeConfigRecord,
ResolveCombatActionRecord,
};
pub use self::jump_hop::{
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
JumpHopRuntimeRunSnapshotResponse, JumpHopScoring, JumpHopSessionResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
};
pub use self::common::{
BigFishAgentMessageRecord, BigFishAnchorItemRecord, BigFishAnchorPackRecord,
BigFishBackgroundBlueprintRecord, BigFishDraftCompileRecordInput,
@@ -77,6 +66,18 @@ pub use self::common::{
VisualNovelRunSnapshotRecordInput, VisualNovelRunStartRecordInput,
VisualNovelWorkCompileRecordInput,
};
pub use self::jump_hop::{
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
JumpHopRuntimeRunSnapshotResponse, JumpHopScoring, JumpHopSessionResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
};
pub use self::match3d::{
Match3DAgentMessageFinalizeRecordInput, Match3DAgentMessageRecord,
Match3DAgentMessageSubmitRecordInput, Match3DAgentSessionCreateRecordInput,
@@ -118,6 +119,16 @@ pub use self::runtime_profile::{
SquareHoleDropConfirmationRecord, SquareHoleDropFeedbackRecord, SquareHoleRunRecord,
};
pub use self::story::{VisualNovelRuntimeEventRecord, VisualNovelRuntimeEventRecordInput};
pub use self::wooden_fish::{
WoodenFishActionRequest, WoodenFishActionResponse, WoodenFishActionType, WoodenFishAudioAsset,
WoodenFishCheckpointRunRequest, WoodenFishDraftResponse, WoodenFishFinishRunRequest,
WoodenFishGalleryCardResponse, WoodenFishGalleryDetailResponse, WoodenFishGalleryResponse,
WoodenFishGenerationStatus, WoodenFishImageAsset, WoodenFishRunResponse, WoodenFishRunStatus,
WoodenFishRuntimeRunSnapshotResponse, WoodenFishSessionResponse,
WoodenFishSessionSnapshotResponse, WoodenFishStartRunRequest, WoodenFishWordCounter,
WoodenFishWorkDetailResponse, WoodenFishWorkMutationResponse, WoodenFishWorkProfileResponse,
WoodenFishWorkSummaryResponse, WoodenFishWorkspaceCreateRequest,
};
pub(crate) use self::ai::map_ai_task_procedure_result;
pub(crate) use self::assets::{map_entity_binding_procedure_result, map_procedure_result};
@@ -220,3 +231,8 @@ pub(crate) use self::visual_novel::{
map_visual_novel_runtime_event_procedure_result, map_visual_novel_work_procedure_result,
map_visual_novel_works_procedure_result,
};
pub(crate) use self::wooden_fish::{
map_wooden_fish_agent_session_procedure_result, map_wooden_fish_gallery_card_view_row,
map_wooden_fish_run_procedure_result, map_wooden_fish_work_procedure_result,
map_wooden_fish_works_procedure_result,
};

View File

@@ -161,7 +161,11 @@ fn map_jump_hop_work_snapshot(
path: map_jump_hop_path(snapshot.path),
character_asset,
tile_atlas_asset,
tile_assets: snapshot.tile_assets.into_iter().map(map_tile_asset).collect(),
tile_assets: snapshot
.tile_assets
.into_iter()
.map(map_tile_asset)
.collect(),
})
}
@@ -180,7 +184,11 @@ fn map_jump_hop_draft_snapshot(snapshot: JumpHopDraftSnapshot) -> JumpHopDraftRe
end_mood_prompt: snapshot.end_mood_prompt,
character_asset: snapshot.character_asset.map(map_character_asset),
tile_atlas_asset: snapshot.tile_atlas_asset.map(map_character_asset),
tile_assets: snapshot.tile_assets.into_iter().map(map_tile_asset).collect(),
tile_assets: snapshot
.tile_assets
.into_iter()
.map(map_tile_asset)
.collect(),
path: snapshot.path.map(map_jump_hop_path),
cover_composite: snapshot.cover_composite,
generation_status: parse_generation_status(&snapshot.generation_status),
@@ -268,7 +276,9 @@ fn map_jump_hop_run_snapshot(snapshot: JumpHopRunSnapshot) -> JumpHopRuntimeRunS
crate::module_bindings::JumpHopJumpResultKind::Miss => JumpHopJumpResult::Miss,
crate::module_bindings::JumpHopJumpResultKind::Hit => JumpHopJumpResult::Hit,
crate::module_bindings::JumpHopJumpResultKind::Finish => JumpHopJumpResult::Finish,
crate::module_bindings::JumpHopJumpResultKind::Perfect => JumpHopJumpResult::Perfect,
crate::module_bindings::JumpHopJumpResultKind::Perfect => {
JumpHopJumpResult::Perfect
}
},
}),
started_at_ms: snapshot.started_at_ms,

View File

@@ -0,0 +1,237 @@
use super::*;
pub use shared_contracts::wooden_fish::{
WoodenFishActionRequest, WoodenFishActionResponse, WoodenFishActionType, WoodenFishAudioAsset,
WoodenFishCheckpointRunRequest, WoodenFishDraftResponse, WoodenFishFinishRunRequest,
WoodenFishGalleryCardResponse, WoodenFishGalleryDetailResponse, WoodenFishGalleryResponse,
WoodenFishGenerationStatus, WoodenFishImageAsset, WoodenFishRunResponse, WoodenFishRunStatus,
WoodenFishRuntimeRunSnapshotResponse, WoodenFishSessionResponse,
WoodenFishSessionSnapshotResponse, WoodenFishStartRunRequest, WoodenFishWordCounter,
WoodenFishWorkDetailResponse, WoodenFishWorkMutationResponse, WoodenFishWorkProfileResponse,
WoodenFishWorkSummaryResponse, WoodenFishWorkspaceCreateRequest,
};
pub(crate) fn map_wooden_fish_agent_session_procedure_result(
result: WoodenFishAgentSessionProcedureResult,
) -> Result<WoodenFishSessionSnapshotResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let session = result
.session
.ok_or_else(|| SpacetimeClientError::missing_snapshot("wooden fish agent session 快照"))?;
Ok(map_wooden_fish_session_snapshot(session))
}
pub(crate) fn map_wooden_fish_work_procedure_result(
result: WoodenFishWorkProcedureResult,
) -> Result<WoodenFishWorkProfileResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let work = result
.work
.ok_or_else(|| SpacetimeClientError::missing_snapshot("wooden fish work 快照"))?;
map_wooden_fish_work_snapshot(work)
}
pub(crate) fn map_wooden_fish_works_procedure_result(
result: WoodenFishWorksProcedureResult,
) -> Result<Vec<WoodenFishWorkProfileResponse>, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
result
.items
.into_iter()
.map(map_wooden_fish_work_snapshot)
.collect()
}
pub(crate) fn map_wooden_fish_run_procedure_result(
result: WoodenFishRunProcedureResult,
) -> Result<WoodenFishRuntimeRunSnapshotResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let run = result
.run
.ok_or_else(|| SpacetimeClientError::missing_snapshot("wooden fish run 快照"))?;
Ok(map_wooden_fish_run_snapshot(run))
}
pub(crate) fn map_wooden_fish_gallery_card_view_row(
row: WoodenFishGalleryCardViewRow,
) -> WoodenFishGalleryCardResponse {
WoodenFishGalleryCardResponse {
public_work_code: row.public_work_code,
work_id: row.work_id,
profile_id: row.profile_id,
owner_user_id: row.owner_user_id,
author_display_name: row.author_display_name,
work_title: row.work_title,
work_description: row.work_description,
cover_image_src: empty_string_to_none(row.cover_image_src),
theme_tags: row.theme_tags,
publication_status: normalize_publication_status(&row.publication_status).to_string(),
play_count: row.play_count,
updated_at: format_timestamp_micros(row.updated_at_micros),
published_at: row.published_at_micros.map(format_timestamp_micros),
generation_status: parse_generation_status(&row.generation_status),
}
}
fn map_wooden_fish_session_snapshot(
snapshot: WoodenFishAgentSessionSnapshot,
) -> WoodenFishSessionSnapshotResponse {
WoodenFishSessionSnapshotResponse {
session_id: snapshot.session_id,
owner_user_id: snapshot.owner_user_id,
status: snapshot
.draft
.as_ref()
.map(|draft| parse_generation_status(&draft.generation_status))
.unwrap_or(WoodenFishGenerationStatus::Draft),
draft: snapshot.draft.map(map_wooden_fish_draft_snapshot),
created_at: format_timestamp_micros(snapshot.created_at_micros),
updated_at: format_timestamp_micros(snapshot.updated_at_micros),
}
}
fn map_wooden_fish_work_snapshot(
snapshot: WoodenFishWorkSnapshot,
) -> Result<WoodenFishWorkProfileResponse, SpacetimeClientError> {
let draft = WoodenFishDraftResponse {
template_id: "wooden-fish".to_string(),
template_name: "敲木鱼".to_string(),
profile_id: Some(snapshot.profile_id.clone()),
work_title: snapshot.work_title.clone(),
work_description: snapshot.work_description.clone(),
theme_tags: snapshot.theme_tags.clone(),
hit_object_prompt: snapshot.hit_object_prompt.clone(),
hit_object_reference_image_src: snapshot.hit_object_reference_image_src.clone(),
hit_sound_prompt: snapshot.hit_sound_prompt.clone(),
floating_words: snapshot.floating_words.clone(),
hit_object_asset: snapshot.hit_object_asset.clone().map(map_image_asset),
hit_sound_asset: snapshot.hit_sound_asset.clone().map(map_audio_asset),
cover_image_src: empty_string_to_none(snapshot.cover_image_src.clone()),
generation_status: parse_generation_status(&snapshot.generation_status),
};
let hit_object_asset = draft
.hit_object_asset
.clone()
.ok_or_else(|| SpacetimeClientError::missing_snapshot("wooden fish hit object asset"))?;
let hit_sound_asset = draft
.hit_sound_asset
.clone()
.ok_or_else(|| SpacetimeClientError::missing_snapshot("wooden fish hit sound asset"))?;
Ok(WoodenFishWorkProfileResponse {
summary: WoodenFishWorkSummaryResponse {
runtime_kind: "wooden-fish".to_string(),
work_id: snapshot.work_id,
profile_id: snapshot.profile_id,
owner_user_id: snapshot.owner_user_id,
source_session_id: empty_string_to_none(snapshot.source_session_id),
work_title: snapshot.work_title,
work_description: snapshot.work_description,
theme_tags: snapshot.theme_tags,
cover_image_src: empty_string_to_none(snapshot.cover_image_src),
publication_status: normalize_publication_status(&snapshot.publication_status)
.to_string(),
play_count: snapshot.play_count,
updated_at: format_timestamp_micros(snapshot.updated_at_micros),
published_at: snapshot.published_at_micros.map(format_timestamp_micros),
publish_ready: snapshot.publish_ready,
generation_status: parse_generation_status(&snapshot.generation_status),
},
draft,
hit_object_asset,
hit_sound_asset,
floating_words: snapshot.floating_words,
})
}
fn map_wooden_fish_draft_snapshot(snapshot: WoodenFishDraftSnapshot) -> WoodenFishDraftResponse {
WoodenFishDraftResponse {
template_id: snapshot.template_id,
template_name: snapshot.template_name,
profile_id: snapshot.profile_id,
work_title: snapshot.work_title,
work_description: snapshot.work_description,
theme_tags: snapshot.theme_tags,
hit_object_prompt: snapshot.hit_object_prompt,
hit_object_reference_image_src: snapshot.hit_object_reference_image_src,
hit_sound_prompt: snapshot.hit_sound_prompt,
floating_words: snapshot.floating_words,
hit_object_asset: snapshot.hit_object_asset.map(map_image_asset),
hit_sound_asset: snapshot.hit_sound_asset.map(map_audio_asset),
cover_image_src: snapshot.cover_image_src,
generation_status: parse_generation_status(&snapshot.generation_status),
}
}
fn map_image_asset(snapshot: WoodenFishImageAssetSnapshot) -> WoodenFishImageAsset {
WoodenFishImageAsset {
asset_id: snapshot.asset_id,
image_src: snapshot.image_src,
image_object_key: snapshot.image_object_key,
asset_object_id: snapshot.asset_object_id,
generation_provider: snapshot.generation_provider,
prompt: snapshot.prompt,
width: snapshot.width,
height: snapshot.height,
}
}
fn map_audio_asset(snapshot: WoodenFishAudioAssetSnapshot) -> WoodenFishAudioAsset {
WoodenFishAudioAsset {
asset_id: snapshot.asset_id,
audio_src: snapshot.audio_src,
audio_object_key: snapshot.audio_object_key,
asset_object_id: snapshot.asset_object_id,
source: snapshot.source,
prompt: snapshot.prompt,
duration_ms: snapshot.duration_ms,
}
}
fn map_wooden_fish_run_snapshot(
snapshot: crate::module_bindings::WoodenFishRunSnapshot,
) -> WoodenFishRuntimeRunSnapshotResponse {
WoodenFishRuntimeRunSnapshotResponse {
run_id: snapshot.run_id,
profile_id: snapshot.profile_id,
owner_user_id: snapshot.owner_user_id,
status: match snapshot.status {
crate::module_bindings::WoodenFishRunStatus::Playing => WoodenFishRunStatus::Playing,
crate::module_bindings::WoodenFishRunStatus::Finished => WoodenFishRunStatus::Finished,
},
total_tap_count: snapshot.total_tap_count,
word_counters: snapshot
.word_counters
.into_iter()
.map(|counter| WoodenFishWordCounter {
text: counter.text,
count: counter.count,
})
.collect(),
started_at_ms: snapshot.started_at_ms,
updated_at_ms: snapshot.updated_at_ms,
finished_at_ms: snapshot.finished_at_ms,
}
}
fn parse_generation_status(value: &str) -> WoodenFishGenerationStatus {
match value {
"generating" => WoodenFishGenerationStatus::Generating,
"ready" => WoodenFishGenerationStatus::Ready,
"failed" => WoodenFishGenerationStatus::Failed,
_ => WoodenFishGenerationStatus::Draft,
}
}
fn normalize_publication_status(value: &str) -> &str {
match value {
"Published" | "published" => "published",
_ => "draft",
}
}

View File

@@ -191,6 +191,7 @@ pub mod chapter_progression_procedure_result_type;
pub mod chapter_progression_snapshot_type;
pub mod chapter_progression_table;
pub mod chapter_progression_type;
pub mod checkpoint_wooden_fish_run_procedure;
pub mod claim_profile_task_reward_and_return_procedure;
pub mod claim_puzzle_work_point_incentive_procedure;
pub mod clear_database_migration_import_chunks_procedure;
@@ -204,6 +205,7 @@ pub mod compile_match_3_d_draft_procedure;
pub mod compile_puzzle_agent_draft_procedure;
pub mod compile_square_hole_draft_procedure;
pub mod compile_visual_novel_work_profile_procedure;
pub mod compile_wooden_fish_draft_procedure;
pub mod complete_ai_stage_and_return_procedure;
pub mod complete_ai_task_and_return_procedure;
pub mod confirm_asset_object_and_return_procedure;
@@ -225,6 +227,7 @@ pub mod create_profile_recharge_order_and_return_procedure;
pub mod create_puzzle_agent_session_procedure;
pub mod create_square_hole_agent_session_procedure;
pub mod create_visual_novel_agent_session_procedure;
pub mod create_wooden_fish_agent_session_procedure;
pub mod creation_entry_config_procedure_result_type;
pub mod creation_entry_config_snapshot_type;
pub mod creation_entry_config_table;
@@ -336,6 +339,7 @@ pub mod finalize_visual_novel_agent_message_turn_procedure;
pub mod finish_bark_battle_run_procedure;
pub mod finish_match_3_d_time_up_procedure;
pub mod finish_square_hole_time_up_procedure;
pub mod finish_wooden_fish_run_procedure;
pub mod generate_big_fish_asset_procedure;
pub mod get_auth_store_snapshot_procedure;
pub mod get_bark_battle_run_procedure;
@@ -378,6 +382,9 @@ pub mod get_story_session_state_procedure;
pub mod get_visual_novel_agent_session_procedure;
pub mod get_visual_novel_run_procedure;
pub mod get_visual_novel_work_detail_procedure;
pub mod get_wooden_fish_agent_session_procedure;
pub mod get_wooden_fish_run_procedure;
pub mod get_wooden_fish_work_profile_procedure;
pub mod grant_inventory_item_input_type;
pub mod grant_new_user_registration_wallet_reward_procedure;
pub mod grant_player_progression_experience_and_return_procedure;
@@ -456,6 +463,7 @@ pub mod list_puzzle_works_procedure;
pub mod list_square_hole_works_procedure;
pub mod list_visual_novel_runtime_history_procedure;
pub mod list_visual_novel_works_procedure;
pub mod list_wooden_fish_works_procedure;
pub mod mark_profile_recharge_order_paid_and_return_procedure;
pub mod match_3_d_agent_message_finalize_input_type;
pub mod match_3_d_agent_message_row_type;
@@ -562,6 +570,7 @@ pub mod publish_match_3_d_work_procedure;
pub mod publish_puzzle_work_procedure;
pub mod publish_square_hole_work_procedure;
pub mod publish_visual_novel_work_procedure;
pub mod publish_wooden_fish_work_procedure;
pub mod put_database_migration_import_chunk_procedure;
pub mod puzzle_agent_message_finalize_input_type;
pub mod puzzle_agent_message_kind_type;
@@ -876,6 +885,7 @@ pub mod start_match_3_d_run_procedure;
pub mod start_puzzle_run_procedure;
pub mod start_square_hole_run_procedure;
pub mod start_visual_novel_run_procedure;
pub mod start_wooden_fish_run_procedure;
pub mod stop_match_3_d_run_procedure;
pub mod stop_square_hole_run_procedure;
pub mod story_continue_input_type;
@@ -922,6 +932,7 @@ pub mod update_puzzle_run_pause_procedure;
pub mod update_puzzle_work_procedure;
pub mod update_square_hole_work_procedure;
pub mod update_visual_novel_work_procedure;
pub mod update_wooden_fish_work_procedure;
pub mod upsert_auth_store_snapshot_procedure;
pub mod upsert_chapter_progression_and_return_procedure;
pub mod upsert_chapter_progression_reducer;
@@ -984,6 +995,42 @@ pub mod visual_novel_work_snapshot_type;
pub mod visual_novel_work_update_input_type;
pub mod visual_novel_works_list_input_type;
pub mod visual_novel_works_procedure_result_type;
pub mod wooden_fish_agent_session_create_input_type;
pub mod wooden_fish_agent_session_get_input_type;
pub mod wooden_fish_agent_session_procedure_result_type;
pub mod wooden_fish_agent_session_row_type;
pub mod wooden_fish_agent_session_snapshot_type;
pub mod wooden_fish_agent_session_table;
pub mod wooden_fish_audio_asset_snapshot_type;
pub mod wooden_fish_creator_config_snapshot_type;
pub mod wooden_fish_draft_compile_input_type;
pub mod wooden_fish_draft_snapshot_type;
pub mod wooden_fish_event_row_type;
pub mod wooden_fish_event_table;
pub mod wooden_fish_gallery_card_view_row_type;
pub mod wooden_fish_gallery_card_view_table;
pub mod wooden_fish_gallery_view_row_type;
pub mod wooden_fish_gallery_view_table;
pub mod wooden_fish_image_asset_snapshot_type;
pub mod wooden_fish_run_checkpoint_input_type;
pub mod wooden_fish_run_finish_input_type;
pub mod wooden_fish_run_get_input_type;
pub mod wooden_fish_run_procedure_result_type;
pub mod wooden_fish_run_snapshot_type;
pub mod wooden_fish_run_start_input_type;
pub mod wooden_fish_run_status_type;
pub mod wooden_fish_runtime_run_row_type;
pub mod wooden_fish_runtime_run_table;
pub mod wooden_fish_word_counter_type;
pub mod wooden_fish_work_get_input_type;
pub mod wooden_fish_work_procedure_result_type;
pub mod wooden_fish_work_profile_row_type;
pub mod wooden_fish_work_profile_table;
pub mod wooden_fish_work_publish_input_type;
pub mod wooden_fish_work_snapshot_type;
pub mod wooden_fish_work_update_input_type;
pub mod wooden_fish_works_list_input_type;
pub mod wooden_fish_works_procedure_result_type;
pub use accept_quest_reducer::accept_quest;
pub use acknowledge_quest_completion_reducer::acknowledge_quest_completion;
@@ -1170,6 +1217,7 @@ pub use chapter_progression_procedure_result_type::ChapterProgressionProcedureRe
pub use chapter_progression_snapshot_type::ChapterProgressionSnapshot;
pub use chapter_progression_table::*;
pub use chapter_progression_type::ChapterProgression;
pub use checkpoint_wooden_fish_run_procedure::checkpoint_wooden_fish_run;
pub use claim_profile_task_reward_and_return_procedure::claim_profile_task_reward_and_return;
pub use claim_puzzle_work_point_incentive_procedure::claim_puzzle_work_point_incentive;
pub use clear_database_migration_import_chunks_procedure::clear_database_migration_import_chunks;
@@ -1183,6 +1231,7 @@ pub use compile_match_3_d_draft_procedure::compile_match_3_d_draft;
pub use compile_puzzle_agent_draft_procedure::compile_puzzle_agent_draft;
pub use compile_square_hole_draft_procedure::compile_square_hole_draft;
pub use compile_visual_novel_work_profile_procedure::compile_visual_novel_work_profile;
pub use compile_wooden_fish_draft_procedure::compile_wooden_fish_draft;
pub use complete_ai_stage_and_return_procedure::complete_ai_stage_and_return;
pub use complete_ai_task_and_return_procedure::complete_ai_task_and_return;
pub use confirm_asset_object_and_return_procedure::confirm_asset_object_and_return;
@@ -1204,6 +1253,7 @@ pub use create_profile_recharge_order_and_return_procedure::create_profile_recha
pub use create_puzzle_agent_session_procedure::create_puzzle_agent_session;
pub use create_square_hole_agent_session_procedure::create_square_hole_agent_session;
pub use create_visual_novel_agent_session_procedure::create_visual_novel_agent_session;
pub use create_wooden_fish_agent_session_procedure::create_wooden_fish_agent_session;
pub use creation_entry_config_procedure_result_type::CreationEntryConfigProcedureResult;
pub use creation_entry_config_snapshot_type::CreationEntryConfigSnapshot;
pub use creation_entry_config_table::*;
@@ -1315,6 +1365,7 @@ pub use finalize_visual_novel_agent_message_turn_procedure::finalize_visual_nove
pub use finish_bark_battle_run_procedure::finish_bark_battle_run;
pub use finish_match_3_d_time_up_procedure::finish_match_3_d_time_up;
pub use finish_square_hole_time_up_procedure::finish_square_hole_time_up;
pub use finish_wooden_fish_run_procedure::finish_wooden_fish_run;
pub use generate_big_fish_asset_procedure::generate_big_fish_asset;
pub use get_auth_store_snapshot_procedure::get_auth_store_snapshot;
pub use get_bark_battle_run_procedure::get_bark_battle_run;
@@ -1357,6 +1408,9 @@ pub use get_story_session_state_procedure::get_story_session_state;
pub use get_visual_novel_agent_session_procedure::get_visual_novel_agent_session;
pub use get_visual_novel_run_procedure::get_visual_novel_run;
pub use get_visual_novel_work_detail_procedure::get_visual_novel_work_detail;
pub use get_wooden_fish_agent_session_procedure::get_wooden_fish_agent_session;
pub use get_wooden_fish_run_procedure::get_wooden_fish_run;
pub use get_wooden_fish_work_profile_procedure::get_wooden_fish_work_profile;
pub use grant_inventory_item_input_type::GrantInventoryItemInput;
pub use grant_new_user_registration_wallet_reward_procedure::grant_new_user_registration_wallet_reward;
pub use grant_player_progression_experience_and_return_procedure::grant_player_progression_experience_and_return;
@@ -1435,6 +1489,7 @@ pub use list_puzzle_works_procedure::list_puzzle_works;
pub use list_square_hole_works_procedure::list_square_hole_works;
pub use list_visual_novel_runtime_history_procedure::list_visual_novel_runtime_history;
pub use list_visual_novel_works_procedure::list_visual_novel_works;
pub use list_wooden_fish_works_procedure::list_wooden_fish_works;
pub use mark_profile_recharge_order_paid_and_return_procedure::mark_profile_recharge_order_paid_and_return;
pub use match_3_d_agent_message_finalize_input_type::Match3DAgentMessageFinalizeInput;
pub use match_3_d_agent_message_row_type::Match3DAgentMessageRow;
@@ -1541,6 +1596,7 @@ pub use publish_match_3_d_work_procedure::publish_match_3_d_work;
pub use publish_puzzle_work_procedure::publish_puzzle_work;
pub use publish_square_hole_work_procedure::publish_square_hole_work;
pub use publish_visual_novel_work_procedure::publish_visual_novel_work;
pub use publish_wooden_fish_work_procedure::publish_wooden_fish_work;
pub use put_database_migration_import_chunk_procedure::put_database_migration_import_chunk;
pub use puzzle_agent_message_finalize_input_type::PuzzleAgentMessageFinalizeInput;
pub use puzzle_agent_message_kind_type::PuzzleAgentMessageKind;
@@ -1855,6 +1911,7 @@ pub use start_match_3_d_run_procedure::start_match_3_d_run;
pub use start_puzzle_run_procedure::start_puzzle_run;
pub use start_square_hole_run_procedure::start_square_hole_run;
pub use start_visual_novel_run_procedure::start_visual_novel_run;
pub use start_wooden_fish_run_procedure::start_wooden_fish_run;
pub use stop_match_3_d_run_procedure::stop_match_3_d_run;
pub use stop_square_hole_run_procedure::stop_square_hole_run;
pub use story_continue_input_type::StoryContinueInput;
@@ -1901,6 +1958,7 @@ pub use update_puzzle_run_pause_procedure::update_puzzle_run_pause;
pub use update_puzzle_work_procedure::update_puzzle_work;
pub use update_square_hole_work_procedure::update_square_hole_work;
pub use update_visual_novel_work_procedure::update_visual_novel_work;
pub use update_wooden_fish_work_procedure::update_wooden_fish_work;
pub use upsert_auth_store_snapshot_procedure::upsert_auth_store_snapshot;
pub use upsert_chapter_progression_and_return_procedure::upsert_chapter_progression_and_return;
pub use upsert_chapter_progression_reducer::upsert_chapter_progression;
@@ -1963,6 +2021,42 @@ pub use visual_novel_work_snapshot_type::VisualNovelWorkSnapshot;
pub use visual_novel_work_update_input_type::VisualNovelWorkUpdateInput;
pub use visual_novel_works_list_input_type::VisualNovelWorksListInput;
pub use visual_novel_works_procedure_result_type::VisualNovelWorksProcedureResult;
pub use wooden_fish_agent_session_create_input_type::WoodenFishAgentSessionCreateInput;
pub use wooden_fish_agent_session_get_input_type::WoodenFishAgentSessionGetInput;
pub use wooden_fish_agent_session_procedure_result_type::WoodenFishAgentSessionProcedureResult;
pub use wooden_fish_agent_session_row_type::WoodenFishAgentSessionRow;
pub use wooden_fish_agent_session_snapshot_type::WoodenFishAgentSessionSnapshot;
pub use wooden_fish_agent_session_table::*;
pub use wooden_fish_audio_asset_snapshot_type::WoodenFishAudioAssetSnapshot;
pub use wooden_fish_creator_config_snapshot_type::WoodenFishCreatorConfigSnapshot;
pub use wooden_fish_draft_compile_input_type::WoodenFishDraftCompileInput;
pub use wooden_fish_draft_snapshot_type::WoodenFishDraftSnapshot;
pub use wooden_fish_event_row_type::WoodenFishEventRow;
pub use wooden_fish_event_table::*;
pub use wooden_fish_gallery_card_view_row_type::WoodenFishGalleryCardViewRow;
pub use wooden_fish_gallery_card_view_table::*;
pub use wooden_fish_gallery_view_row_type::WoodenFishGalleryViewRow;
pub use wooden_fish_gallery_view_table::*;
pub use wooden_fish_image_asset_snapshot_type::WoodenFishImageAssetSnapshot;
pub use wooden_fish_run_checkpoint_input_type::WoodenFishRunCheckpointInput;
pub use wooden_fish_run_finish_input_type::WoodenFishRunFinishInput;
pub use wooden_fish_run_get_input_type::WoodenFishRunGetInput;
pub use wooden_fish_run_procedure_result_type::WoodenFishRunProcedureResult;
pub use wooden_fish_run_snapshot_type::WoodenFishRunSnapshot;
pub use wooden_fish_run_start_input_type::WoodenFishRunStartInput;
pub use wooden_fish_run_status_type::WoodenFishRunStatus;
pub use wooden_fish_runtime_run_row_type::WoodenFishRuntimeRunRow;
pub use wooden_fish_runtime_run_table::*;
pub use wooden_fish_word_counter_type::WoodenFishWordCounter;
pub use wooden_fish_work_get_input_type::WoodenFishWorkGetInput;
pub use wooden_fish_work_procedure_result_type::WoodenFishWorkProcedureResult;
pub use wooden_fish_work_profile_row_type::WoodenFishWorkProfileRow;
pub use wooden_fish_work_profile_table::*;
pub use wooden_fish_work_publish_input_type::WoodenFishWorkPublishInput;
pub use wooden_fish_work_snapshot_type::WoodenFishWorkSnapshot;
pub use wooden_fish_work_update_input_type::WoodenFishWorkUpdateInput;
pub use wooden_fish_works_list_input_type::WoodenFishWorksListInput;
pub use wooden_fish_works_procedure_result_type::WoodenFishWorksProcedureResult;
#[derive(Clone, PartialEq, Debug)]
@@ -2337,6 +2431,12 @@ pub struct DbUpdate {
visual_novel_runtime_history_entry: __sdk::TableUpdate<VisualNovelRuntimeHistoryEntryRow>,
visual_novel_runtime_run: __sdk::TableUpdate<VisualNovelRuntimeRunRow>,
visual_novel_work_profile: __sdk::TableUpdate<VisualNovelWorkProfileRow>,
wooden_fish_agent_session: __sdk::TableUpdate<WoodenFishAgentSessionRow>,
wooden_fish_event: __sdk::TableUpdate<WoodenFishEventRow>,
wooden_fish_gallery_card_view: __sdk::TableUpdate<WoodenFishGalleryCardViewRow>,
wooden_fish_gallery_view: __sdk::TableUpdate<WoodenFishGalleryViewRow>,
wooden_fish_runtime_run: __sdk::TableUpdate<WoodenFishRuntimeRunRow>,
wooden_fish_work_profile: __sdk::TableUpdate<WoodenFishWorkProfileRow>,
}
impl TryFrom<__ws::v2::TransactionUpdate> for DbUpdate {
@@ -2660,6 +2760,24 @@ impl TryFrom<__ws::v2::TransactionUpdate> for DbUpdate {
"visual_novel_work_profile" => db_update.visual_novel_work_profile.append(
visual_novel_work_profile_table::parse_table_update(table_update)?,
),
"wooden_fish_agent_session" => db_update.wooden_fish_agent_session.append(
wooden_fish_agent_session_table::parse_table_update(table_update)?,
),
"wooden_fish_event" => db_update
.wooden_fish_event
.append(wooden_fish_event_table::parse_table_update(table_update)?),
"wooden_fish_gallery_card_view" => db_update.wooden_fish_gallery_card_view.append(
wooden_fish_gallery_card_view_table::parse_table_update(table_update)?,
),
"wooden_fish_gallery_view" => db_update.wooden_fish_gallery_view.append(
wooden_fish_gallery_view_table::parse_table_update(table_update)?,
),
"wooden_fish_runtime_run" => db_update.wooden_fish_runtime_run.append(
wooden_fish_runtime_run_table::parse_table_update(table_update)?,
),
"wooden_fish_work_profile" => db_update.wooden_fish_work_profile.append(
wooden_fish_work_profile_table::parse_table_update(table_update)?,
),
unknown => {
return Err(__sdk::InternalError::unknown_name(
@@ -3159,6 +3277,27 @@ impl __sdk::DbUpdate for DbUpdate {
&self.visual_novel_work_profile,
)
.with_updates_by_pk(|row| &row.profile_id);
diff.wooden_fish_agent_session = cache
.apply_diff_to_table::<WoodenFishAgentSessionRow>(
"wooden_fish_agent_session",
&self.wooden_fish_agent_session,
)
.with_updates_by_pk(|row| &row.session_id);
diff.wooden_fish_event = cache
.apply_diff_to_table::<WoodenFishEventRow>("wooden_fish_event", &self.wooden_fish_event)
.with_updates_by_pk(|row| &row.event_id);
diff.wooden_fish_runtime_run = cache
.apply_diff_to_table::<WoodenFishRuntimeRunRow>(
"wooden_fish_runtime_run",
&self.wooden_fish_runtime_run,
)
.with_updates_by_pk(|row| &row.run_id);
diff.wooden_fish_work_profile = cache
.apply_diff_to_table::<WoodenFishWorkProfileRow>(
"wooden_fish_work_profile",
&self.wooden_fish_work_profile,
)
.with_updates_by_pk(|row| &row.profile_id);
diff.big_fish_gallery_view = cache.apply_diff_to_table::<BigFishWorkSummarySnapshot>(
"big_fish_gallery_view",
&self.big_fish_gallery_view,
@@ -3191,6 +3330,15 @@ impl __sdk::DbUpdate for DbUpdate {
"visual_novel_gallery_view",
&self.visual_novel_gallery_view,
);
diff.wooden_fish_gallery_card_view = cache
.apply_diff_to_table::<WoodenFishGalleryCardViewRow>(
"wooden_fish_gallery_card_view",
&self.wooden_fish_gallery_card_view,
);
diff.wooden_fish_gallery_view = cache.apply_diff_to_table::<WoodenFishGalleryViewRow>(
"wooden_fish_gallery_view",
&self.wooden_fish_gallery_view,
);
diff
}
@@ -3501,6 +3649,24 @@ impl __sdk::DbUpdate for DbUpdate {
"visual_novel_work_profile" => db_update
.visual_novel_work_profile
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_agent_session" => db_update
.wooden_fish_agent_session
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_event" => db_update
.wooden_fish_event
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_gallery_card_view" => db_update
.wooden_fish_gallery_card_view
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_gallery_view" => db_update
.wooden_fish_gallery_view
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_runtime_run" => db_update
.wooden_fish_runtime_run
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"wooden_fish_work_profile" => db_update
.wooden_fish_work_profile
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
unknown => {
return Err(
__sdk::InternalError::unknown_name("table", unknown, "QueryRows").into(),
@@ -3817,6 +3983,24 @@ impl __sdk::DbUpdate for DbUpdate {
"visual_novel_work_profile" => db_update
.visual_novel_work_profile
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_agent_session" => db_update
.wooden_fish_agent_session
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_event" => db_update
.wooden_fish_event
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_gallery_card_view" => db_update
.wooden_fish_gallery_card_view
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_gallery_view" => db_update
.wooden_fish_gallery_view
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_runtime_run" => db_update
.wooden_fish_runtime_run
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"wooden_fish_work_profile" => db_update
.wooden_fish_work_profile
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
unknown => {
return Err(
__sdk::InternalError::unknown_name("table", unknown, "QueryRows").into(),
@@ -3936,6 +4120,12 @@ pub struct AppliedDiff<'r> {
__sdk::TableAppliedDiff<'r, VisualNovelRuntimeHistoryEntryRow>,
visual_novel_runtime_run: __sdk::TableAppliedDiff<'r, VisualNovelRuntimeRunRow>,
visual_novel_work_profile: __sdk::TableAppliedDiff<'r, VisualNovelWorkProfileRow>,
wooden_fish_agent_session: __sdk::TableAppliedDiff<'r, WoodenFishAgentSessionRow>,
wooden_fish_event: __sdk::TableAppliedDiff<'r, WoodenFishEventRow>,
wooden_fish_gallery_card_view: __sdk::TableAppliedDiff<'r, WoodenFishGalleryCardViewRow>,
wooden_fish_gallery_view: __sdk::TableAppliedDiff<'r, WoodenFishGalleryViewRow>,
wooden_fish_runtime_run: __sdk::TableAppliedDiff<'r, WoodenFishRuntimeRunRow>,
wooden_fish_work_profile: __sdk::TableAppliedDiff<'r, WoodenFishWorkProfileRow>,
__unused: std::marker::PhantomData<&'r ()>,
}
@@ -4434,6 +4624,36 @@ impl<'r> __sdk::AppliedDiff<'r> for AppliedDiff<'r> {
&self.visual_novel_work_profile,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishAgentSessionRow>(
"wooden_fish_agent_session",
&self.wooden_fish_agent_session,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishEventRow>(
"wooden_fish_event",
&self.wooden_fish_event,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishGalleryCardViewRow>(
"wooden_fish_gallery_card_view",
&self.wooden_fish_gallery_card_view,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishGalleryViewRow>(
"wooden_fish_gallery_view",
&self.wooden_fish_gallery_view,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishRuntimeRunRow>(
"wooden_fish_runtime_run",
&self.wooden_fish_runtime_run,
event,
);
callbacks.invoke_table_row_callbacks::<WoodenFishWorkProfileRow>(
"wooden_fish_work_profile",
&self.wooden_fish_work_profile,
event,
);
}
}
@@ -5195,6 +5415,12 @@ impl __sdk::SpacetimeModule for RemoteModule {
visual_novel_runtime_history_entry_table::register_table(client_cache);
visual_novel_runtime_run_table::register_table(client_cache);
visual_novel_work_profile_table::register_table(client_cache);
wooden_fish_agent_session_table::register_table(client_cache);
wooden_fish_event_table::register_table(client_cache);
wooden_fish_gallery_card_view_table::register_table(client_cache);
wooden_fish_gallery_view_table::register_table(client_cache);
wooden_fish_runtime_run_table::register_table(client_cache);
wooden_fish_work_profile_table::register_table(client_cache);
}
const ALL_TABLE_NAMES: &'static [&'static str] = &[
"ai_result_reference",
@@ -5298,5 +5524,11 @@ impl __sdk::SpacetimeModule for RemoteModule {
"visual_novel_runtime_history_entry",
"visual_novel_runtime_run",
"visual_novel_work_profile",
"wooden_fish_agent_session",
"wooden_fish_event",
"wooden_fish_gallery_card_view",
"wooden_fish_gallery_view",
"wooden_fish_runtime_run",
"wooden_fish_work_profile",
];
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_checkpoint_input_type::WoodenFishRunCheckpointInput;
use super::wooden_fish_run_procedure_result_type::WoodenFishRunProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct CheckpointWoodenFishRunArgs {
pub input: WoodenFishRunCheckpointInput,
}
impl __sdk::InModule for CheckpointWoodenFishRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `checkpoint_wooden_fish_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait checkpoint_wooden_fish_run {
fn checkpoint_wooden_fish_run(&self, input: WoodenFishRunCheckpointInput) {
self.checkpoint_wooden_fish_run_then(input, |_, _| {});
}
fn checkpoint_wooden_fish_run_then(
&self,
input: WoodenFishRunCheckpointInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl checkpoint_wooden_fish_run for super::RemoteProcedures {
fn checkpoint_wooden_fish_run_then(
&self,
input: WoodenFishRunCheckpointInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishRunProcedureResult>(
"checkpoint_wooden_fish_run",
CheckpointWoodenFishRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_agent_session_procedure_result_type::WoodenFishAgentSessionProcedureResult;
use super::wooden_fish_draft_compile_input_type::WoodenFishDraftCompileInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct CompileWoodenFishDraftArgs {
pub input: WoodenFishDraftCompileInput,
}
impl __sdk::InModule for CompileWoodenFishDraftArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `compile_wooden_fish_draft`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait compile_wooden_fish_draft {
fn compile_wooden_fish_draft(&self, input: WoodenFishDraftCompileInput) {
self.compile_wooden_fish_draft_then(input, |_, _| {});
}
fn compile_wooden_fish_draft_then(
&self,
input: WoodenFishDraftCompileInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl compile_wooden_fish_draft for super::RemoteProcedures {
fn compile_wooden_fish_draft_then(
&self,
input: WoodenFishDraftCompileInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishAgentSessionProcedureResult>(
"compile_wooden_fish_draft",
CompileWoodenFishDraftArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_agent_session_create_input_type::WoodenFishAgentSessionCreateInput;
use super::wooden_fish_agent_session_procedure_result_type::WoodenFishAgentSessionProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct CreateWoodenFishAgentSessionArgs {
pub input: WoodenFishAgentSessionCreateInput,
}
impl __sdk::InModule for CreateWoodenFishAgentSessionArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `create_wooden_fish_agent_session`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait create_wooden_fish_agent_session {
fn create_wooden_fish_agent_session(&self, input: WoodenFishAgentSessionCreateInput) {
self.create_wooden_fish_agent_session_then(input, |_, _| {});
}
fn create_wooden_fish_agent_session_then(
&self,
input: WoodenFishAgentSessionCreateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl create_wooden_fish_agent_session for super::RemoteProcedures {
fn create_wooden_fish_agent_session_then(
&self,
input: WoodenFishAgentSessionCreateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishAgentSessionProcedureResult>(
"create_wooden_fish_agent_session",
CreateWoodenFishAgentSessionArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_finish_input_type::WoodenFishRunFinishInput;
use super::wooden_fish_run_procedure_result_type::WoodenFishRunProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct FinishWoodenFishRunArgs {
pub input: WoodenFishRunFinishInput,
}
impl __sdk::InModule for FinishWoodenFishRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `finish_wooden_fish_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait finish_wooden_fish_run {
fn finish_wooden_fish_run(&self, input: WoodenFishRunFinishInput) {
self.finish_wooden_fish_run_then(input, |_, _| {});
}
fn finish_wooden_fish_run_then(
&self,
input: WoodenFishRunFinishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl finish_wooden_fish_run for super::RemoteProcedures {
fn finish_wooden_fish_run_then(
&self,
input: WoodenFishRunFinishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishRunProcedureResult>(
"finish_wooden_fish_run",
FinishWoodenFishRunArgs { input },
__callback,
);
}
}

View File

@@ -1,4 +1,3 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_agent_session_get_input_type::WoodenFishAgentSessionGetInput;
use super::wooden_fish_agent_session_procedure_result_type::WoodenFishAgentSessionProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetWoodenFishAgentSessionArgs {
pub input: WoodenFishAgentSessionGetInput,
}
impl __sdk::InModule for GetWoodenFishAgentSessionArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_wooden_fish_agent_session`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_wooden_fish_agent_session {
fn get_wooden_fish_agent_session(&self, input: WoodenFishAgentSessionGetInput) {
self.get_wooden_fish_agent_session_then(input, |_, _| {});
}
fn get_wooden_fish_agent_session_then(
&self,
input: WoodenFishAgentSessionGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_wooden_fish_agent_session for super::RemoteProcedures {
fn get_wooden_fish_agent_session_then(
&self,
input: WoodenFishAgentSessionGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishAgentSessionProcedureResult>(
"get_wooden_fish_agent_session",
GetWoodenFishAgentSessionArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_get_input_type::WoodenFishRunGetInput;
use super::wooden_fish_run_procedure_result_type::WoodenFishRunProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetWoodenFishRunArgs {
pub input: WoodenFishRunGetInput,
}
impl __sdk::InModule for GetWoodenFishRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_wooden_fish_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_wooden_fish_run {
fn get_wooden_fish_run(&self, input: WoodenFishRunGetInput) {
self.get_wooden_fish_run_then(input, |_, _| {});
}
fn get_wooden_fish_run_then(
&self,
input: WoodenFishRunGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_wooden_fish_run for super::RemoteProcedures {
fn get_wooden_fish_run_then(
&self,
input: WoodenFishRunGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishRunProcedureResult>(
"get_wooden_fish_run",
GetWoodenFishRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_work_get_input_type::WoodenFishWorkGetInput;
use super::wooden_fish_work_procedure_result_type::WoodenFishWorkProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetWoodenFishWorkProfileArgs {
pub input: WoodenFishWorkGetInput,
}
impl __sdk::InModule for GetWoodenFishWorkProfileArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_wooden_fish_work_profile`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_wooden_fish_work_profile {
fn get_wooden_fish_work_profile(&self, input: WoodenFishWorkGetInput) {
self.get_wooden_fish_work_profile_then(input, |_, _| {});
}
fn get_wooden_fish_work_profile_then(
&self,
input: WoodenFishWorkGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_wooden_fish_work_profile for super::RemoteProcedures {
fn get_wooden_fish_work_profile_then(
&self,
input: WoodenFishWorkGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishWorkProcedureResult>(
"get_wooden_fish_work_profile",
GetWoodenFishWorkProfileArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_works_list_input_type::WoodenFishWorksListInput;
use super::wooden_fish_works_procedure_result_type::WoodenFishWorksProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct ListWoodenFishWorksArgs {
pub input: WoodenFishWorksListInput,
}
impl __sdk::InModule for ListWoodenFishWorksArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `list_wooden_fish_works`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait list_wooden_fish_works {
fn list_wooden_fish_works(&self, input: WoodenFishWorksListInput) {
self.list_wooden_fish_works_then(input, |_, _| {});
}
fn list_wooden_fish_works_then(
&self,
input: WoodenFishWorksListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorksProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl list_wooden_fish_works for super::RemoteProcedures {
fn list_wooden_fish_works_then(
&self,
input: WoodenFishWorksListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorksProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishWorksProcedureResult>(
"list_wooden_fish_works",
ListWoodenFishWorksArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_work_procedure_result_type::WoodenFishWorkProcedureResult;
use super::wooden_fish_work_publish_input_type::WoodenFishWorkPublishInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct PublishWoodenFishWorkArgs {
pub input: WoodenFishWorkPublishInput,
}
impl __sdk::InModule for PublishWoodenFishWorkArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `publish_wooden_fish_work`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait publish_wooden_fish_work {
fn publish_wooden_fish_work(&self, input: WoodenFishWorkPublishInput) {
self.publish_wooden_fish_work_then(input, |_, _| {});
}
fn publish_wooden_fish_work_then(
&self,
input: WoodenFishWorkPublishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl publish_wooden_fish_work for super::RemoteProcedures {
fn publish_wooden_fish_work_then(
&self,
input: WoodenFishWorkPublishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishWorkProcedureResult>(
"publish_wooden_fish_work",
PublishWoodenFishWorkArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_procedure_result_type::WoodenFishRunProcedureResult;
use super::wooden_fish_run_start_input_type::WoodenFishRunStartInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct StartWoodenFishRunArgs {
pub input: WoodenFishRunStartInput,
}
impl __sdk::InModule for StartWoodenFishRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `start_wooden_fish_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait start_wooden_fish_run {
fn start_wooden_fish_run(&self, input: WoodenFishRunStartInput) {
self.start_wooden_fish_run_then(input, |_, _| {});
}
fn start_wooden_fish_run_then(
&self,
input: WoodenFishRunStartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl start_wooden_fish_run for super::RemoteProcedures {
fn start_wooden_fish_run_then(
&self,
input: WoodenFishRunStartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishRunProcedureResult>(
"start_wooden_fish_run",
StartWoodenFishRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_work_procedure_result_type::WoodenFishWorkProcedureResult;
use super::wooden_fish_work_update_input_type::WoodenFishWorkUpdateInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct UpdateWoodenFishWorkArgs {
pub input: WoodenFishWorkUpdateInput,
}
impl __sdk::InModule for UpdateWoodenFishWorkArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `update_wooden_fish_work`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait update_wooden_fish_work {
fn update_wooden_fish_work(&self, input: WoodenFishWorkUpdateInput) {
self.update_wooden_fish_work_then(input, |_, _| {});
}
fn update_wooden_fish_work_then(
&self,
input: WoodenFishWorkUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl update_wooden_fish_work for super::RemoteProcedures {
fn update_wooden_fish_work_then(
&self,
input: WoodenFishWorkUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<WoodenFishWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, WoodenFishWorkProcedureResult>(
"update_wooden_fish_work",
UpdateWoodenFishWorkArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAgentSessionCreateInput {
pub session_id: String,
pub owner_user_id: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: Option<String>,
pub config_json: Option<String>,
pub draft_json: Option<String>,
pub created_at_micros: i64,
}
impl __sdk::InModule for WoodenFishAgentSessionCreateInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAgentSessionGetInput {
pub session_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for WoodenFishAgentSessionGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_agent_session_snapshot_type::WoodenFishAgentSessionSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAgentSessionProcedureResult {
pub ok: bool,
pub session: Option<WoodenFishAgentSessionSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for WoodenFishAgentSessionProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,81 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAgentSessionRow {
pub session_id: String,
pub owner_user_id: String,
pub current_turn: u32,
pub progress_percent: u32,
pub stage: String,
pub config_json: String,
pub draft_json: String,
pub published_profile_id: String,
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
}
impl __sdk::InModule for WoodenFishAgentSessionRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishAgentSessionRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishAgentSessionRowCols {
pub session_id: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub current_turn: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, u32>,
pub progress_percent: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, u32>,
pub stage: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub config_json: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub draft_json: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub published_profile_id: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, String>,
pub created_at: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<WoodenFishAgentSessionRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for WoodenFishAgentSessionRow {
type Cols = WoodenFishAgentSessionRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishAgentSessionRowCols {
session_id: __sdk::__query_builder::Col::new(table_name, "session_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
current_turn: __sdk::__query_builder::Col::new(table_name, "current_turn"),
progress_percent: __sdk::__query_builder::Col::new(table_name, "progress_percent"),
stage: __sdk::__query_builder::Col::new(table_name, "stage"),
config_json: __sdk::__query_builder::Col::new(table_name, "config_json"),
draft_json: __sdk::__query_builder::Col::new(table_name, "draft_json"),
published_profile_id: __sdk::__query_builder::Col::new(
table_name,
"published_profile_id",
),
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
}
}
}
/// Indexed column accessor struct for the table `WoodenFishAgentSessionRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct WoodenFishAgentSessionRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<WoodenFishAgentSessionRow, String>,
pub session_id: __sdk::__query_builder::IxCol<WoodenFishAgentSessionRow, String>,
}
impl __sdk::__query_builder::HasIxCols for WoodenFishAgentSessionRow {
type IxCols = WoodenFishAgentSessionRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
WoodenFishAgentSessionRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for WoodenFishAgentSessionRow {}

View File

@@ -0,0 +1,27 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_creator_config_snapshot_type::WoodenFishCreatorConfigSnapshot;
use super::wooden_fish_draft_snapshot_type::WoodenFishDraftSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAgentSessionSnapshot {
pub session_id: String,
pub owner_user_id: String,
pub current_turn: u32,
pub progress_percent: u32,
pub stage: String,
pub config: WoodenFishCreatorConfigSnapshot,
pub draft: Option<WoodenFishDraftSnapshot>,
pub published_profile_id: Option<String>,
pub created_at_micros: i64,
pub updated_at_micros: i64,
}
impl __sdk::InModule for WoodenFishAgentSessionSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,165 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_agent_session_row_type::WoodenFishAgentSessionRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_agent_session`.
///
/// Obtain a handle from the [`WoodenFishAgentSessionTableAccess::wooden_fish_agent_session`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_agent_session()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_agent_session().on_insert(...)`.
pub struct WoodenFishAgentSessionTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishAgentSessionRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_agent_session`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishAgentSessionTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishAgentSessionTableHandle`], which mediates access to the table `wooden_fish_agent_session`.
fn wooden_fish_agent_session(&self) -> WoodenFishAgentSessionTableHandle<'_>;
}
impl WoodenFishAgentSessionTableAccess for super::RemoteTables {
fn wooden_fish_agent_session(&self) -> WoodenFishAgentSessionTableHandle<'_> {
WoodenFishAgentSessionTableHandle {
imp: self
.imp
.get_table::<WoodenFishAgentSessionRow>("wooden_fish_agent_session"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishAgentSessionInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishAgentSessionDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishAgentSessionTableHandle<'ctx> {
type Row = WoodenFishAgentSessionRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishAgentSessionRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishAgentSessionInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishAgentSessionInsertCallbackId {
WoodenFishAgentSessionInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishAgentSessionInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishAgentSessionDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishAgentSessionDeleteCallbackId {
WoodenFishAgentSessionDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishAgentSessionDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct WoodenFishAgentSessionUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for WoodenFishAgentSessionTableHandle<'ctx> {
type UpdateCallbackId = WoodenFishAgentSessionUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> WoodenFishAgentSessionUpdateCallbackId {
WoodenFishAgentSessionUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: WoodenFishAgentSessionUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `session_id` unique index on the table `wooden_fish_agent_session`,
/// which allows point queries on the field of the same name
/// via the [`WoodenFishAgentSessionSessionIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_agent_session().session_id().find(...)`.
pub struct WoodenFishAgentSessionSessionIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<WoodenFishAgentSessionRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> WoodenFishAgentSessionTableHandle<'ctx> {
/// Get a handle on the `session_id` unique index on the table `wooden_fish_agent_session`.
pub fn session_id(&self) -> WoodenFishAgentSessionSessionIdUnique<'ctx> {
WoodenFishAgentSessionSessionIdUnique {
imp: self.imp.get_unique_constraint::<String>("session_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> WoodenFishAgentSessionSessionIdUnique<'ctx> {
/// Find the subscribed row whose `session_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<WoodenFishAgentSessionRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table =
client_cache.get_or_make_table::<WoodenFishAgentSessionRow>("wooden_fish_agent_session");
_table.add_unique_constraint::<String>("session_id", |row| &row.session_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishAgentSessionRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<WoodenFishAgentSessionRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishAgentSessionRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_agent_sessionQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishAgentSessionRow`.
fn wooden_fish_agent_session(&self)
-> __sdk::__query_builder::Table<WoodenFishAgentSessionRow>;
}
impl wooden_fish_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_agent_session(
&self,
) -> __sdk::__query_builder::Table<WoodenFishAgentSessionRow> {
__sdk::__query_builder::Table::new("wooden_fish_agent_session")
}
}

View File

@@ -0,0 +1,21 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishAudioAssetSnapshot {
pub asset_id: String,
pub audio_src: String,
pub audio_object_key: String,
pub asset_object_id: String,
pub source: String,
pub prompt: Option<String>,
pub duration_ms: Option<u32>,
}
impl __sdk::InModule for WoodenFishAudioAssetSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,21 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishCreatorConfigSnapshot {
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub floating_words: Vec<String>,
}
impl __sdk::InModule for WoodenFishCreatorConfigSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,30 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishDraftCompileInput {
pub session_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: Option<String>,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub hit_object_asset_json: Option<String>,
pub hit_sound_asset_json: Option<String>,
pub floating_words_json: Option<String>,
pub cover_image_src: Option<String>,
pub generation_status: Option<String>,
pub compiled_at_micros: i64,
}
impl __sdk::InModule for WoodenFishDraftCompileInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,31 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_audio_asset_snapshot_type::WoodenFishAudioAssetSnapshot;
use super::wooden_fish_image_asset_snapshot_type::WoodenFishImageAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishDraftSnapshot {
pub template_id: String,
pub template_name: String,
pub profile_id: Option<String>,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub floating_words: Vec<String>,
pub hit_object_asset: Option<WoodenFishImageAssetSnapshot>,
pub hit_sound_asset: Option<WoodenFishAudioAssetSnapshot>,
pub cover_image_src: Option<String>,
pub generation_status: String,
}
impl __sdk::InModule for WoodenFishDraftSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,71 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishEventRow {
pub event_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub run_id: String,
pub event_type: String,
pub result: String,
pub occurred_at: __sdk::Timestamp,
}
impl __sdk::InModule for WoodenFishEventRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishEventRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishEventRowCols {
pub event_id: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub profile_id: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub run_id: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub event_type: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub result: __sdk::__query_builder::Col<WoodenFishEventRow, String>,
pub occurred_at: __sdk::__query_builder::Col<WoodenFishEventRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for WoodenFishEventRow {
type Cols = WoodenFishEventRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishEventRowCols {
event_id: __sdk::__query_builder::Col::new(table_name, "event_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::Col::new(table_name, "run_id"),
event_type: __sdk::__query_builder::Col::new(table_name, "event_type"),
result: __sdk::__query_builder::Col::new(table_name, "result"),
occurred_at: __sdk::__query_builder::Col::new(table_name, "occurred_at"),
}
}
}
/// Indexed column accessor struct for the table `WoodenFishEventRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct WoodenFishEventRowIxCols {
pub event_id: __sdk::__query_builder::IxCol<WoodenFishEventRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<WoodenFishEventRow, String>,
pub run_id: __sdk::__query_builder::IxCol<WoodenFishEventRow, String>,
}
impl __sdk::__query_builder::HasIxCols for WoodenFishEventRow {
type IxCols = WoodenFishEventRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
WoodenFishEventRowIxCols {
event_id: __sdk::__query_builder::IxCol::new(table_name, "event_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for WoodenFishEventRow {}

View File

@@ -0,0 +1,161 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_event_row_type::WoodenFishEventRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_event`.
///
/// Obtain a handle from the [`WoodenFishEventTableAccess::wooden_fish_event`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_event()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_event().on_insert(...)`.
pub struct WoodenFishEventTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishEventRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_event`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishEventTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishEventTableHandle`], which mediates access to the table `wooden_fish_event`.
fn wooden_fish_event(&self) -> WoodenFishEventTableHandle<'_>;
}
impl WoodenFishEventTableAccess for super::RemoteTables {
fn wooden_fish_event(&self) -> WoodenFishEventTableHandle<'_> {
WoodenFishEventTableHandle {
imp: self
.imp
.get_table::<WoodenFishEventRow>("wooden_fish_event"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishEventInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishEventDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishEventTableHandle<'ctx> {
type Row = WoodenFishEventRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishEventRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishEventInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishEventInsertCallbackId {
WoodenFishEventInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishEventInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishEventDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishEventDeleteCallbackId {
WoodenFishEventDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishEventDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct WoodenFishEventUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for WoodenFishEventTableHandle<'ctx> {
type UpdateCallbackId = WoodenFishEventUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> WoodenFishEventUpdateCallbackId {
WoodenFishEventUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: WoodenFishEventUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `event_id` unique index on the table `wooden_fish_event`,
/// which allows point queries on the field of the same name
/// via the [`WoodenFishEventEventIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_event().event_id().find(...)`.
pub struct WoodenFishEventEventIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<WoodenFishEventRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> WoodenFishEventTableHandle<'ctx> {
/// Get a handle on the `event_id` unique index on the table `wooden_fish_event`.
pub fn event_id(&self) -> WoodenFishEventEventIdUnique<'ctx> {
WoodenFishEventEventIdUnique {
imp: self.imp.get_unique_constraint::<String>("event_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> WoodenFishEventEventIdUnique<'ctx> {
/// Find the subscribed row whose `event_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<WoodenFishEventRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<WoodenFishEventRow>("wooden_fish_event");
_table.add_unique_constraint::<String>("event_id", |row| &row.event_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishEventRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<WoodenFishEventRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishEventRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_eventQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishEventRow`.
fn wooden_fish_event(&self) -> __sdk::__query_builder::Table<WoodenFishEventRow>;
}
impl wooden_fish_eventQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_event(&self) -> __sdk::__query_builder::Table<WoodenFishEventRow> {
__sdk::__query_builder::Table::new("wooden_fish_event")
}
}

View File

@@ -0,0 +1,76 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishGalleryCardViewRow {
pub public_work_code: String,
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub cover_image_src: String,
pub theme_tags: Vec<String>,
pub publication_status: String,
pub play_count: u32,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
pub generation_status: String,
}
impl __sdk::InModule for WoodenFishGalleryCardViewRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishGalleryCardViewRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishGalleryCardViewRowCols {
pub public_work_code: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub work_id: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub profile_id: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub author_display_name: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub work_title: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub work_description: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub cover_image_src: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub theme_tags: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, Vec<String>>,
pub publication_status: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
pub play_count: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, u32>,
pub updated_at_micros: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, i64>,
pub published_at_micros: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, Option<i64>>,
pub generation_status: __sdk::__query_builder::Col<WoodenFishGalleryCardViewRow, String>,
}
impl __sdk::__query_builder::HasCols for WoodenFishGalleryCardViewRow {
type Cols = WoodenFishGalleryCardViewRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishGalleryCardViewRowCols {
public_work_code: __sdk::__query_builder::Col::new(table_name, "public_work_code"),
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
theme_tags: __sdk::__query_builder::Col::new(table_name, "theme_tags"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at_micros: __sdk::__query_builder::Col::new(table_name, "updated_at_micros"),
published_at_micros: __sdk::__query_builder::Col::new(
table_name,
"published_at_micros",
),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
}
}
}

View File

@@ -0,0 +1,121 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_gallery_card_view_row_type::WoodenFishGalleryCardViewRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_gallery_card_view`.
///
/// Obtain a handle from the [`WoodenFishGalleryCardViewTableAccess::wooden_fish_gallery_card_view`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_gallery_card_view()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_gallery_card_view().on_insert(...)`.
pub struct WoodenFishGalleryCardViewTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishGalleryCardViewRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_gallery_card_view`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishGalleryCardViewTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishGalleryCardViewTableHandle`], which mediates access to the table `wooden_fish_gallery_card_view`.
fn wooden_fish_gallery_card_view(&self) -> WoodenFishGalleryCardViewTableHandle<'_>;
}
impl WoodenFishGalleryCardViewTableAccess for super::RemoteTables {
fn wooden_fish_gallery_card_view(&self) -> WoodenFishGalleryCardViewTableHandle<'_> {
WoodenFishGalleryCardViewTableHandle {
imp: self
.imp
.get_table::<WoodenFishGalleryCardViewRow>("wooden_fish_gallery_card_view"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishGalleryCardViewInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishGalleryCardViewDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishGalleryCardViewTableHandle<'ctx> {
type Row = WoodenFishGalleryCardViewRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishGalleryCardViewRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishGalleryCardViewInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishGalleryCardViewInsertCallbackId {
WoodenFishGalleryCardViewInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishGalleryCardViewInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishGalleryCardViewDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishGalleryCardViewDeleteCallbackId {
WoodenFishGalleryCardViewDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishGalleryCardViewDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache
.get_or_make_table::<WoodenFishGalleryCardViewRow>("wooden_fish_gallery_card_view");
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishGalleryCardViewRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse(
"TableUpdate<WoodenFishGalleryCardViewRow>",
"TableUpdate",
)
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishGalleryCardViewRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_gallery_card_viewQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishGalleryCardViewRow`.
fn wooden_fish_gallery_card_view(
&self,
) -> __sdk::__query_builder::Table<WoodenFishGalleryCardViewRow>;
}
impl wooden_fish_gallery_card_viewQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_gallery_card_view(
&self,
) -> __sdk::__query_builder::Table<WoodenFishGalleryCardViewRow> {
__sdk::__query_builder::Table::new("wooden_fish_gallery_card_view")
}
}

View File

@@ -0,0 +1,109 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_audio_asset_snapshot_type::WoodenFishAudioAssetSnapshot;
use super::wooden_fish_image_asset_snapshot_type::WoodenFishImageAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishGalleryViewRow {
pub public_work_code: String,
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub hit_object_asset: Option<WoodenFishImageAssetSnapshot>,
pub hit_sound_asset: Option<WoodenFishAudioAssetSnapshot>,
pub floating_words: Vec<String>,
pub cover_image_src: String,
pub publication_status: String,
pub publish_ready: bool,
pub play_count: u32,
pub generation_status: String,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
}
impl __sdk::InModule for WoodenFishGalleryViewRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishGalleryViewRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishGalleryViewRowCols {
pub public_work_code: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub work_id: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub profile_id: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub source_session_id: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub author_display_name: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub work_title: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub work_description: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub theme_tags: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, Vec<String>>,
pub hit_object_prompt: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub hit_object_reference_image_src:
__sdk::__query_builder::Col<WoodenFishGalleryViewRow, Option<String>>,
pub hit_sound_prompt: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, Option<String>>,
pub hit_object_asset:
__sdk::__query_builder::Col<WoodenFishGalleryViewRow, Option<WoodenFishImageAssetSnapshot>>,
pub hit_sound_asset:
__sdk::__query_builder::Col<WoodenFishGalleryViewRow, Option<WoodenFishAudioAssetSnapshot>>,
pub floating_words: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, Vec<String>>,
pub cover_image_src: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub publication_status: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub publish_ready: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, bool>,
pub play_count: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, u32>,
pub generation_status: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, String>,
pub updated_at_micros: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, i64>,
pub published_at_micros: __sdk::__query_builder::Col<WoodenFishGalleryViewRow, Option<i64>>,
}
impl __sdk::__query_builder::HasCols for WoodenFishGalleryViewRow {
type Cols = WoodenFishGalleryViewRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishGalleryViewRowCols {
public_work_code: __sdk::__query_builder::Col::new(table_name, "public_work_code"),
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
source_session_id: __sdk::__query_builder::Col::new(table_name, "source_session_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
theme_tags: __sdk::__query_builder::Col::new(table_name, "theme_tags"),
hit_object_prompt: __sdk::__query_builder::Col::new(table_name, "hit_object_prompt"),
hit_object_reference_image_src: __sdk::__query_builder::Col::new(
table_name,
"hit_object_reference_image_src",
),
hit_sound_prompt: __sdk::__query_builder::Col::new(table_name, "hit_sound_prompt"),
hit_object_asset: __sdk::__query_builder::Col::new(table_name, "hit_object_asset"),
hit_sound_asset: __sdk::__query_builder::Col::new(table_name, "hit_sound_asset"),
floating_words: __sdk::__query_builder::Col::new(table_name, "floating_words"),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
publish_ready: __sdk::__query_builder::Col::new(table_name, "publish_ready"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
updated_at_micros: __sdk::__query_builder::Col::new(table_name, "updated_at_micros"),
published_at_micros: __sdk::__query_builder::Col::new(
table_name,
"published_at_micros",
),
}
}
}

View File

@@ -0,0 +1,116 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_audio_asset_snapshot_type::WoodenFishAudioAssetSnapshot;
use super::wooden_fish_gallery_view_row_type::WoodenFishGalleryViewRow;
use super::wooden_fish_image_asset_snapshot_type::WoodenFishImageAssetSnapshot;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_gallery_view`.
///
/// Obtain a handle from the [`WoodenFishGalleryViewTableAccess::wooden_fish_gallery_view`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_gallery_view()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_gallery_view().on_insert(...)`.
pub struct WoodenFishGalleryViewTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishGalleryViewRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_gallery_view`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishGalleryViewTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishGalleryViewTableHandle`], which mediates access to the table `wooden_fish_gallery_view`.
fn wooden_fish_gallery_view(&self) -> WoodenFishGalleryViewTableHandle<'_>;
}
impl WoodenFishGalleryViewTableAccess for super::RemoteTables {
fn wooden_fish_gallery_view(&self) -> WoodenFishGalleryViewTableHandle<'_> {
WoodenFishGalleryViewTableHandle {
imp: self
.imp
.get_table::<WoodenFishGalleryViewRow>("wooden_fish_gallery_view"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishGalleryViewInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishGalleryViewDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishGalleryViewTableHandle<'ctx> {
type Row = WoodenFishGalleryViewRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishGalleryViewRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishGalleryViewInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishGalleryViewInsertCallbackId {
WoodenFishGalleryViewInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishGalleryViewInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishGalleryViewDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishGalleryViewDeleteCallbackId {
WoodenFishGalleryViewDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishGalleryViewDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table =
client_cache.get_or_make_table::<WoodenFishGalleryViewRow>("wooden_fish_gallery_view");
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishGalleryViewRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<WoodenFishGalleryViewRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishGalleryViewRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_gallery_viewQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishGalleryViewRow`.
fn wooden_fish_gallery_view(&self) -> __sdk::__query_builder::Table<WoodenFishGalleryViewRow>;
}
impl wooden_fish_gallery_viewQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_gallery_view(&self) -> __sdk::__query_builder::Table<WoodenFishGalleryViewRow> {
__sdk::__query_builder::Table::new("wooden_fish_gallery_view")
}
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishImageAssetSnapshot {
pub asset_id: String,
pub image_src: String,
pub image_object_key: String,
pub asset_object_id: String,
pub generation_provider: String,
pub prompt: String,
pub width: u32,
pub height: u32,
}
impl __sdk::InModule for WoodenFishImageAssetSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,20 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunCheckpointInput {
pub run_id: String,
pub owner_user_id: String,
pub total_tap_count: u32,
pub word_counters_json: String,
pub client_event_id: String,
pub checkpoint_at_ms: i64,
}
impl __sdk::InModule for WoodenFishRunCheckpointInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,20 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunFinishInput {
pub run_id: String,
pub owner_user_id: String,
pub total_tap_count: u32,
pub word_counters_json: String,
pub client_event_id: String,
pub finished_at_ms: i64,
}
impl __sdk::InModule for WoodenFishRunFinishInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunGetInput {
pub run_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for WoodenFishRunGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_snapshot_type::WoodenFishRunSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunProcedureResult {
pub ok: bool,
pub run: Option<WoodenFishRunSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for WoodenFishRunProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,26 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_run_status_type::WoodenFishRunStatus;
use super::wooden_fish_word_counter_type::WoodenFishWordCounter;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunSnapshot {
pub run_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub status: WoodenFishRunStatus,
pub total_tap_count: u32,
pub word_counters: Vec<WoodenFishWordCounter>,
pub started_at_ms: u64,
pub updated_at_ms: u64,
pub finished_at_ms: Option<u64>,
}
impl __sdk::InModule for WoodenFishRunSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRunStartInput {
pub run_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub client_event_id: String,
pub started_at_ms: i64,
}
impl __sdk::InModule for WoodenFishRunStartInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,18 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
#[derive(Copy, Eq, Hash)]
pub enum WoodenFishRunStatus {
Playing,
Finished,
}
impl __sdk::InModule for WoodenFishRunStatus {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,86 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishRuntimeRunRow {
pub run_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub status: String,
pub total_tap_count: u32,
pub word_counters_json: String,
pub started_at_ms: i64,
pub updated_at_ms: i64,
pub finished_at_ms: i64,
pub snapshot_json: String,
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
}
impl __sdk::InModule for WoodenFishRuntimeRunRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishRuntimeRunRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishRuntimeRunRowCols {
pub run_id: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub profile_id: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub status: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub total_tap_count: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, u32>,
pub word_counters_json: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub started_at_ms: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, i64>,
pub updated_at_ms: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, i64>,
pub finished_at_ms: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, i64>,
pub snapshot_json: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, String>,
pub created_at: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<WoodenFishRuntimeRunRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for WoodenFishRuntimeRunRow {
type Cols = WoodenFishRuntimeRunRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishRuntimeRunRowCols {
run_id: __sdk::__query_builder::Col::new(table_name, "run_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
status: __sdk::__query_builder::Col::new(table_name, "status"),
total_tap_count: __sdk::__query_builder::Col::new(table_name, "total_tap_count"),
word_counters_json: __sdk::__query_builder::Col::new(table_name, "word_counters_json"),
started_at_ms: __sdk::__query_builder::Col::new(table_name, "started_at_ms"),
updated_at_ms: __sdk::__query_builder::Col::new(table_name, "updated_at_ms"),
finished_at_ms: __sdk::__query_builder::Col::new(table_name, "finished_at_ms"),
snapshot_json: __sdk::__query_builder::Col::new(table_name, "snapshot_json"),
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
}
}
}
/// Indexed column accessor struct for the table `WoodenFishRuntimeRunRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct WoodenFishRuntimeRunRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<WoodenFishRuntimeRunRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<WoodenFishRuntimeRunRow, String>,
pub run_id: __sdk::__query_builder::IxCol<WoodenFishRuntimeRunRow, String>,
}
impl __sdk::__query_builder::HasIxCols for WoodenFishRuntimeRunRow {
type IxCols = WoodenFishRuntimeRunRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
WoodenFishRuntimeRunRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for WoodenFishRuntimeRunRow {}

View File

@@ -0,0 +1,162 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_runtime_run_row_type::WoodenFishRuntimeRunRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_runtime_run`.
///
/// Obtain a handle from the [`WoodenFishRuntimeRunTableAccess::wooden_fish_runtime_run`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_runtime_run()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_runtime_run().on_insert(...)`.
pub struct WoodenFishRuntimeRunTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishRuntimeRunRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_runtime_run`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishRuntimeRunTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishRuntimeRunTableHandle`], which mediates access to the table `wooden_fish_runtime_run`.
fn wooden_fish_runtime_run(&self) -> WoodenFishRuntimeRunTableHandle<'_>;
}
impl WoodenFishRuntimeRunTableAccess for super::RemoteTables {
fn wooden_fish_runtime_run(&self) -> WoodenFishRuntimeRunTableHandle<'_> {
WoodenFishRuntimeRunTableHandle {
imp: self
.imp
.get_table::<WoodenFishRuntimeRunRow>("wooden_fish_runtime_run"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishRuntimeRunInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishRuntimeRunDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishRuntimeRunTableHandle<'ctx> {
type Row = WoodenFishRuntimeRunRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishRuntimeRunRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishRuntimeRunInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishRuntimeRunInsertCallbackId {
WoodenFishRuntimeRunInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishRuntimeRunInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishRuntimeRunDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishRuntimeRunDeleteCallbackId {
WoodenFishRuntimeRunDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishRuntimeRunDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct WoodenFishRuntimeRunUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for WoodenFishRuntimeRunTableHandle<'ctx> {
type UpdateCallbackId = WoodenFishRuntimeRunUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> WoodenFishRuntimeRunUpdateCallbackId {
WoodenFishRuntimeRunUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: WoodenFishRuntimeRunUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `run_id` unique index on the table `wooden_fish_runtime_run`,
/// which allows point queries on the field of the same name
/// via the [`WoodenFishRuntimeRunRunIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_runtime_run().run_id().find(...)`.
pub struct WoodenFishRuntimeRunRunIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<WoodenFishRuntimeRunRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> WoodenFishRuntimeRunTableHandle<'ctx> {
/// Get a handle on the `run_id` unique index on the table `wooden_fish_runtime_run`.
pub fn run_id(&self) -> WoodenFishRuntimeRunRunIdUnique<'ctx> {
WoodenFishRuntimeRunRunIdUnique {
imp: self.imp.get_unique_constraint::<String>("run_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> WoodenFishRuntimeRunRunIdUnique<'ctx> {
/// Find the subscribed row whose `run_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<WoodenFishRuntimeRunRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table =
client_cache.get_or_make_table::<WoodenFishRuntimeRunRow>("wooden_fish_runtime_run");
_table.add_unique_constraint::<String>("run_id", |row| &row.run_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishRuntimeRunRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<WoodenFishRuntimeRunRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishRuntimeRunRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_runtime_runQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishRuntimeRunRow`.
fn wooden_fish_runtime_run(&self) -> __sdk::__query_builder::Table<WoodenFishRuntimeRunRow>;
}
impl wooden_fish_runtime_runQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_runtime_run(&self) -> __sdk::__query_builder::Table<WoodenFishRuntimeRunRow> {
__sdk::__query_builder::Table::new("wooden_fish_runtime_run")
}
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWordCounter {
pub text: String,
pub count: u32,
}
impl __sdk::InModule for WoodenFishWordCounter {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkGetInput {
pub profile_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for WoodenFishWorkGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_work_snapshot_type::WoodenFishWorkSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkProcedureResult {
pub ok: bool,
pub work: Option<WoodenFishWorkSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for WoodenFishWorkProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,130 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkProfileRow {
pub profile_id: String,
pub work_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: String,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: String,
pub hit_sound_prompt: String,
pub hit_object_asset_json: String,
pub hit_sound_asset_json: String,
pub floating_words_json: String,
pub cover_image_src: String,
pub generation_status: String,
pub publication_status: String,
pub play_count: u32,
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
}
impl __sdk::InModule for WoodenFishWorkProfileRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `WoodenFishWorkProfileRow`.
///
/// Provides typed access to columns for query building.
pub struct WoodenFishWorkProfileRowCols {
pub profile_id: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub work_id: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub source_session_id: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub author_display_name: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub work_title: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub work_description: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub theme_tags_json: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub hit_object_prompt: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub hit_object_reference_image_src:
__sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub hit_sound_prompt: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub hit_object_asset_json: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub hit_sound_asset_json: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub floating_words_json: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub cover_image_src: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub generation_status: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub publication_status: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, String>,
pub play_count: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, u32>,
pub updated_at: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, __sdk::Timestamp>,
pub published_at:
__sdk::__query_builder::Col<WoodenFishWorkProfileRow, Option<__sdk::Timestamp>>,
}
impl __sdk::__query_builder::HasCols for WoodenFishWorkProfileRow {
type Cols = WoodenFishWorkProfileRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
WoodenFishWorkProfileRowCols {
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
source_session_id: __sdk::__query_builder::Col::new(table_name, "source_session_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
theme_tags_json: __sdk::__query_builder::Col::new(table_name, "theme_tags_json"),
hit_object_prompt: __sdk::__query_builder::Col::new(table_name, "hit_object_prompt"),
hit_object_reference_image_src: __sdk::__query_builder::Col::new(
table_name,
"hit_object_reference_image_src",
),
hit_sound_prompt: __sdk::__query_builder::Col::new(table_name, "hit_sound_prompt"),
hit_object_asset_json: __sdk::__query_builder::Col::new(
table_name,
"hit_object_asset_json",
),
hit_sound_asset_json: __sdk::__query_builder::Col::new(
table_name,
"hit_sound_asset_json",
),
floating_words_json: __sdk::__query_builder::Col::new(
table_name,
"floating_words_json",
),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
}
}
}
/// Indexed column accessor struct for the table `WoodenFishWorkProfileRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct WoodenFishWorkProfileRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<WoodenFishWorkProfileRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<WoodenFishWorkProfileRow, String>,
pub publication_status: __sdk::__query_builder::IxCol<WoodenFishWorkProfileRow, String>,
}
impl __sdk::__query_builder::HasIxCols for WoodenFishWorkProfileRow {
type IxCols = WoodenFishWorkProfileRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
WoodenFishWorkProfileRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
publication_status: __sdk::__query_builder::IxCol::new(
table_name,
"publication_status",
),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for WoodenFishWorkProfileRow {}

View File

@@ -0,0 +1,162 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::wooden_fish_work_profile_row_type::WoodenFishWorkProfileRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `wooden_fish_work_profile`.
///
/// Obtain a handle from the [`WoodenFishWorkProfileTableAccess::wooden_fish_work_profile`] method on [`super::RemoteTables`],
/// like `ctx.db.wooden_fish_work_profile()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_work_profile().on_insert(...)`.
pub struct WoodenFishWorkProfileTableHandle<'ctx> {
imp: __sdk::TableHandle<WoodenFishWorkProfileRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `wooden_fish_work_profile`.
///
/// Implemented for [`super::RemoteTables`].
pub trait WoodenFishWorkProfileTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`WoodenFishWorkProfileTableHandle`], which mediates access to the table `wooden_fish_work_profile`.
fn wooden_fish_work_profile(&self) -> WoodenFishWorkProfileTableHandle<'_>;
}
impl WoodenFishWorkProfileTableAccess for super::RemoteTables {
fn wooden_fish_work_profile(&self) -> WoodenFishWorkProfileTableHandle<'_> {
WoodenFishWorkProfileTableHandle {
imp: self
.imp
.get_table::<WoodenFishWorkProfileRow>("wooden_fish_work_profile"),
ctx: std::marker::PhantomData,
}
}
}
pub struct WoodenFishWorkProfileInsertCallbackId(__sdk::CallbackId);
pub struct WoodenFishWorkProfileDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for WoodenFishWorkProfileTableHandle<'ctx> {
type Row = WoodenFishWorkProfileRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = WoodenFishWorkProfileRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = WoodenFishWorkProfileInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishWorkProfileInsertCallbackId {
WoodenFishWorkProfileInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: WoodenFishWorkProfileInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = WoodenFishWorkProfileDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> WoodenFishWorkProfileDeleteCallbackId {
WoodenFishWorkProfileDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: WoodenFishWorkProfileDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct WoodenFishWorkProfileUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for WoodenFishWorkProfileTableHandle<'ctx> {
type UpdateCallbackId = WoodenFishWorkProfileUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> WoodenFishWorkProfileUpdateCallbackId {
WoodenFishWorkProfileUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: WoodenFishWorkProfileUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `profile_id` unique index on the table `wooden_fish_work_profile`,
/// which allows point queries on the field of the same name
/// via the [`WoodenFishWorkProfileProfileIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.wooden_fish_work_profile().profile_id().find(...)`.
pub struct WoodenFishWorkProfileProfileIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<WoodenFishWorkProfileRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> WoodenFishWorkProfileTableHandle<'ctx> {
/// Get a handle on the `profile_id` unique index on the table `wooden_fish_work_profile`.
pub fn profile_id(&self) -> WoodenFishWorkProfileProfileIdUnique<'ctx> {
WoodenFishWorkProfileProfileIdUnique {
imp: self.imp.get_unique_constraint::<String>("profile_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> WoodenFishWorkProfileProfileIdUnique<'ctx> {
/// Find the subscribed row whose `profile_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<WoodenFishWorkProfileRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table =
client_cache.get_or_make_table::<WoodenFishWorkProfileRow>("wooden_fish_work_profile");
_table.add_unique_constraint::<String>("profile_id", |row| &row.profile_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<WoodenFishWorkProfileRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<WoodenFishWorkProfileRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `WoodenFishWorkProfileRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait wooden_fish_work_profileQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `WoodenFishWorkProfileRow`.
fn wooden_fish_work_profile(&self) -> __sdk::__query_builder::Table<WoodenFishWorkProfileRow>;
}
impl wooden_fish_work_profileQueryTableAccess for __sdk::QueryTableAccessor {
fn wooden_fish_work_profile(&self) -> __sdk::__query_builder::Table<WoodenFishWorkProfileRow> {
__sdk::__query_builder::Table::new("wooden_fish_work_profile")
}
}

View File

@@ -0,0 +1,17 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkPublishInput {
pub profile_id: String,
pub owner_user_id: String,
pub published_at_micros: i64,
}
impl __sdk::InModule for WoodenFishWorkPublishInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,38 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_audio_asset_snapshot_type::WoodenFishAudioAssetSnapshot;
use super::wooden_fish_image_asset_snapshot_type::WoodenFishImageAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkSnapshot {
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub hit_object_prompt: String,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub hit_object_asset: Option<WoodenFishImageAssetSnapshot>,
pub hit_sound_asset: Option<WoodenFishAudioAssetSnapshot>,
pub floating_words: Vec<String>,
pub cover_image_src: String,
pub publication_status: String,
pub publish_ready: bool,
pub play_count: u32,
pub generation_status: String,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
}
impl __sdk::InModule for WoodenFishWorkSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,28 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorkUpdateInput {
pub profile_id: String,
pub owner_user_id: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: String,
pub hit_object_prompt: Option<String>,
pub hit_object_reference_image_src: Option<String>,
pub hit_sound_prompt: Option<String>,
pub hit_object_asset_json: Option<String>,
pub hit_sound_asset_json: Option<String>,
pub floating_words_json: Option<String>,
pub cover_image_src: Option<String>,
pub generation_status: Option<String>,
pub updated_at_micros: i64,
}
impl __sdk::InModule for WoodenFishWorkUpdateInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorksListInput {
pub owner_user_id: String,
pub published_only: bool,
}
impl __sdk::InModule for WoodenFishWorksListInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::wooden_fish_work_snapshot_type::WoodenFishWorkSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct WoodenFishWorksProcedureResult {
pub ok: bool,
pub items: Vec<WoodenFishWorkSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for WoodenFishWorksProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -81,7 +81,9 @@ fn spacetime_metrics() -> &'static SpacetimeMetrics {
read_duration_ms: meter
.f64_histogram("genarrative.spacetime.read.duration_ms")
.with_unit("ms")
.with_description("SpacetimeDB local subscription cache read duration in milliseconds")
.with_description(
"SpacetimeDB local subscription cache read duration in milliseconds",
)
.build(),
}
})

File diff suppressed because it is too large Load Diff