Close DDD cleanup and tests-support closure
This commit is contained in:
@@ -1,3 +1,74 @@
|
||||
//! 成长写入命令过渡落位。
|
||||
//! 成长写入命令。
|
||||
//!
|
||||
//! 用于表达授予经验、创建章节预算、结算章节节奏等输入。
|
||||
//! 这里固定授予经验、章节预算、章节账本和自动定级等输入结构,adapter 只能把外部
|
||||
//! 请求映射到这些命令,不在 SpacetimeDB 或 HTTP 层重复定义字段规则。
|
||||
|
||||
use crate::domain::{ChapterPaceBand, PlayerProgressionGrantSource, ProgressionRole};
|
||||
use serde::{Deserialize, Serialize};
|
||||
#[cfg(feature = "spacetime-types")]
|
||||
use spacetimedb::SpacetimeType;
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct PlayerProgressionGetInput {
|
||||
pub user_id: String,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct PlayerProgressionGrantInput {
|
||||
pub user_id: String,
|
||||
pub amount: u32,
|
||||
pub source: PlayerProgressionGrantSource,
|
||||
pub updated_at_micros: i64,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChapterProgressionGetInput {
|
||||
pub user_id: String,
|
||||
pub chapter_id: String,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChapterProgressionInput {
|
||||
pub user_id: String,
|
||||
pub chapter_id: String,
|
||||
pub chapter_index: u32,
|
||||
pub total_chapters: u32,
|
||||
pub entry_pseudo_level_millis: u32,
|
||||
pub exit_pseudo_level_millis: u32,
|
||||
pub entry_level: u32,
|
||||
pub exit_level: u32,
|
||||
pub planned_total_xp: u32,
|
||||
pub planned_quest_xp: u32,
|
||||
pub planned_hostile_xp: u32,
|
||||
pub expected_hostile_defeat_count: u32,
|
||||
pub level_at_entry: u32,
|
||||
pub pace_band: ChapterPaceBand,
|
||||
pub updated_at_micros: i64,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChapterProgressionLedgerInput {
|
||||
pub user_id: String,
|
||||
pub chapter_id: String,
|
||||
pub granted_quest_xp: u32,
|
||||
pub granted_hostile_xp: u32,
|
||||
pub hostile_defeat_increment: u32,
|
||||
pub level_at_exit: Option<u32>,
|
||||
pub updated_at_micros: i64,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChapterAutoLevelProfileInput {
|
||||
pub chapter_id: String,
|
||||
pub chapter_index: u32,
|
||||
pub entry_pseudo_level_millis: u32,
|
||||
pub exit_pseudo_level_millis: u32,
|
||||
pub stage_progress_millis: u32,
|
||||
pub progression_role: ProgressionRole,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user