Add public work read model and smooth puzzle transitions

This commit is contained in:
kdletters
2026-05-26 16:38:27 +08:00
parent 545f315cbc
commit aeee782fe0
47 changed files with 2679 additions and 79 deletions

View File

@@ -1,7 +1,7 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
// This was generated using spacetimedb cli version 2.1.0 (commit 6981f48b4bc1a71c8dd9bdfe5a2c343f6370243d).
// This was generated using spacetimedb cli version 2.2.0 (commit eb11e2f5c41dce6979715ad407996270d61329f6).
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
@@ -559,6 +559,10 @@ pub mod profile_task_reward_claim_table;
pub mod profile_task_reward_claim_type;
pub mod profile_wallet_ledger_table;
pub mod profile_wallet_ledger_type;
pub mod public_work_detail_entry_table;
pub mod public_work_detail_entry_type;
pub mod public_work_gallery_entry_table;
pub mod public_work_gallery_entry_type;
pub mod public_work_like_table;
pub mod public_work_like_type;
pub mod public_work_play_daily_stat_table;
@@ -1588,6 +1592,10 @@ pub use profile_task_reward_claim_table::*;
pub use profile_task_reward_claim_type::ProfileTaskRewardClaim;
pub use profile_wallet_ledger_table::*;
pub use profile_wallet_ledger_type::ProfileWalletLedger;
pub use public_work_detail_entry_table::*;
pub use public_work_detail_entry_type::PublicWorkDetailEntry;
pub use public_work_gallery_entry_table::*;
pub use public_work_gallery_entry_type::PublicWorkGalleryEntry;
pub use public_work_like_table::*;
pub use public_work_like_type::PublicWorkLike;
pub use public_work_play_daily_stat_table::*;
@@ -2404,6 +2412,8 @@ pub struct DbUpdate {
profile_task_progress: __sdk::TableUpdate<ProfileTaskProgress>,
profile_task_reward_claim: __sdk::TableUpdate<ProfileTaskRewardClaim>,
profile_wallet_ledger: __sdk::TableUpdate<ProfileWalletLedger>,
public_work_detail_entry: __sdk::TableUpdate<PublicWorkDetailEntry>,
public_work_gallery_entry: __sdk::TableUpdate<PublicWorkGalleryEntry>,
public_work_like: __sdk::TableUpdate<PublicWorkLike>,
public_work_play_daily_stat: __sdk::TableUpdate<PublicWorkPlayDailyStat>,
puzzle_agent_message: __sdk::TableUpdate<PuzzleAgentMessageRow>,
@@ -2666,6 +2676,12 @@ impl TryFrom<__ws::v2::TransactionUpdate> for DbUpdate {
"profile_wallet_ledger" => db_update.profile_wallet_ledger.append(
profile_wallet_ledger_table::parse_table_update(table_update)?,
),
"public_work_detail_entry" => db_update.public_work_detail_entry.append(
public_work_detail_entry_table::parse_table_update(table_update)?,
),
"public_work_gallery_entry" => db_update.public_work_gallery_entry.append(
public_work_gallery_entry_table::parse_table_update(table_update)?,
),
"public_work_like" => db_update
.public_work_like
.append(public_work_like_table::parse_table_update(table_update)?),
@@ -3328,6 +3344,14 @@ impl __sdk::DbUpdate for DbUpdate {
"match_3_d_gallery_view",
&self.match_3_d_gallery_view,
);
diff.public_work_detail_entry = cache.apply_diff_to_table::<PublicWorkDetailEntry>(
"public_work_detail_entry",
&self.public_work_detail_entry,
);
diff.public_work_gallery_entry = cache.apply_diff_to_table::<PublicWorkGalleryEntry>(
"public_work_gallery_entry",
&self.public_work_gallery_entry,
);
diff.puzzle_gallery_card_view = cache.apply_diff_to_table::<PuzzleGalleryCardViewRow>(
"puzzle_gallery_card_view",
&self.puzzle_gallery_card_view,
@@ -3564,6 +3588,12 @@ impl __sdk::DbUpdate for DbUpdate {
"profile_wallet_ledger" => db_update
.profile_wallet_ledger
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"public_work_detail_entry" => db_update
.public_work_detail_entry
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"public_work_gallery_entry" => db_update
.public_work_gallery_entry
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"public_work_like" => db_update
.public_work_like
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
@@ -3901,6 +3931,12 @@ impl __sdk::DbUpdate for DbUpdate {
"profile_wallet_ledger" => db_update
.profile_wallet_ledger
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"public_work_detail_entry" => db_update
.public_work_detail_entry
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"public_work_gallery_entry" => db_update
.public_work_gallery_entry
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"public_work_like" => db_update
.public_work_like
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
@@ -4106,6 +4142,8 @@ pub struct AppliedDiff<'r> {
profile_task_progress: __sdk::TableAppliedDiff<'r, ProfileTaskProgress>,
profile_task_reward_claim: __sdk::TableAppliedDiff<'r, ProfileTaskRewardClaim>,
profile_wallet_ledger: __sdk::TableAppliedDiff<'r, ProfileWalletLedger>,
public_work_detail_entry: __sdk::TableAppliedDiff<'r, PublicWorkDetailEntry>,
public_work_gallery_entry: __sdk::TableAppliedDiff<'r, PublicWorkGalleryEntry>,
public_work_like: __sdk::TableAppliedDiff<'r, PublicWorkLike>,
public_work_play_daily_stat: __sdk::TableAppliedDiff<'r, PublicWorkPlayDailyStat>,
puzzle_agent_message: __sdk::TableAppliedDiff<'r, PuzzleAgentMessageRow>,
@@ -4488,6 +4526,16 @@ impl<'r> __sdk::AppliedDiff<'r> for AppliedDiff<'r> {
&self.profile_wallet_ledger,
event,
);
callbacks.invoke_table_row_callbacks::<PublicWorkDetailEntry>(
"public_work_detail_entry",
&self.public_work_detail_entry,
event,
);
callbacks.invoke_table_row_callbacks::<PublicWorkGalleryEntry>(
"public_work_gallery_entry",
&self.public_work_gallery_entry,
event,
);
callbacks.invoke_table_row_callbacks::<PublicWorkLike>(
"public_work_like",
&self.public_work_like,
@@ -5408,6 +5456,8 @@ impl __sdk::SpacetimeModule for RemoteModule {
profile_task_progress_table::register_table(client_cache);
profile_task_reward_claim_table::register_table(client_cache);
profile_wallet_ledger_table::register_table(client_cache);
public_work_detail_entry_table::register_table(client_cache);
public_work_gallery_entry_table::register_table(client_cache);
public_work_like_table::register_table(client_cache);
public_work_play_daily_stat_table::register_table(client_cache);
puzzle_agent_message_table::register_table(client_cache);
@@ -5518,6 +5568,8 @@ impl __sdk::SpacetimeModule for RemoteModule {
"profile_task_progress",
"profile_task_reward_claim",
"profile_wallet_ledger",
"public_work_detail_entry",
"public_work_gallery_entry",
"public_work_like",
"public_work_play_daily_stat",
"puzzle_agent_message",