87 lines
2.9 KiB
Rust
87 lines
2.9 KiB
Rust
use crate::*;
|
|
|
|
#[spacetimedb::table(
|
|
accessor = square_hole_agent_session,
|
|
index(accessor = by_square_hole_agent_session_owner_user_id, btree(columns = [owner_user_id]))
|
|
)]
|
|
pub struct SquareHoleAgentSessionRow {
|
|
#[primary_key]
|
|
pub(crate) session_id: String,
|
|
pub(crate) owner_user_id: String,
|
|
pub(crate) seed_text: String,
|
|
pub(crate) current_turn: u32,
|
|
pub(crate) progress_percent: u32,
|
|
pub(crate) stage: String,
|
|
pub(crate) config_json: String,
|
|
pub(crate) draft_json: String,
|
|
pub(crate) last_assistant_reply: String,
|
|
pub(crate) published_profile_id: String,
|
|
pub(crate) created_at: Timestamp,
|
|
pub(crate) updated_at: Timestamp,
|
|
}
|
|
|
|
#[spacetimedb::table(
|
|
accessor = square_hole_agent_message,
|
|
index(accessor = by_square_hole_agent_message_session_id, btree(columns = [session_id]))
|
|
)]
|
|
pub struct SquareHoleAgentMessageRow {
|
|
#[primary_key]
|
|
pub(crate) message_id: String,
|
|
pub(crate) session_id: String,
|
|
pub(crate) role: String,
|
|
pub(crate) kind: String,
|
|
pub(crate) text: String,
|
|
pub(crate) created_at: Timestamp,
|
|
}
|
|
|
|
#[spacetimedb::table(
|
|
accessor = square_hole_work_profile,
|
|
index(accessor = by_square_hole_work_owner_user_id, btree(columns = [owner_user_id])),
|
|
index(accessor = by_square_hole_work_publication_status, btree(columns = [publication_status]))
|
|
)]
|
|
pub struct SquareHoleWorkProfileRow {
|
|
#[primary_key]
|
|
pub(crate) profile_id: String,
|
|
pub(crate) work_id: String,
|
|
pub(crate) owner_user_id: String,
|
|
pub(crate) source_session_id: String,
|
|
pub(crate) author_display_name: String,
|
|
pub(crate) game_name: String,
|
|
pub(crate) theme_text: String,
|
|
pub(crate) twist_rule: String,
|
|
pub(crate) summary_text: String,
|
|
pub(crate) tags_json: String,
|
|
pub(crate) cover_image_src: String,
|
|
pub(crate) shape_count: u32,
|
|
pub(crate) difficulty: u32,
|
|
pub(crate) config_json: String,
|
|
pub(crate) publication_status: String,
|
|
pub(crate) play_count: u32,
|
|
pub(crate) updated_at: Timestamp,
|
|
pub(crate) published_at: Option<Timestamp>,
|
|
}
|
|
|
|
#[spacetimedb::table(
|
|
accessor = square_hole_runtime_run,
|
|
index(accessor = by_square_hole_run_owner_user_id, btree(columns = [owner_user_id])),
|
|
index(accessor = by_square_hole_run_profile_id, btree(columns = [profile_id]))
|
|
)]
|
|
pub struct SquareHoleRuntimeRunRow {
|
|
#[primary_key]
|
|
pub(crate) run_id: String,
|
|
pub(crate) owner_user_id: String,
|
|
pub(crate) profile_id: String,
|
|
pub(crate) status: String,
|
|
pub(crate) snapshot_version: u64,
|
|
pub(crate) started_at_ms: i64,
|
|
pub(crate) duration_limit_ms: i64,
|
|
pub(crate) finished_at_ms: i64,
|
|
pub(crate) elapsed_ms: i64,
|
|
pub(crate) total_shape_count: u32,
|
|
pub(crate) completed_shape_count: u32,
|
|
pub(crate) score: u32,
|
|
pub(crate) snapshot_json: String,
|
|
pub(crate) created_at: Timestamp,
|
|
pub(crate) updated_at: Timestamp,
|
|
}
|