47083bfe05
删除 auth_store_snapshot 表和旧 JSON 快照 procedure。 改用 AuthStoreProjectionView 同步 user_account、auth_identity 和 refresh_session。 让 auth 服务从 user_account 投影恢复内存工作集。 同步生成绑定、schema guard 和后端架构文档。
114 lines
2.7 KiB
Rust
114 lines
2.7 KiB
Rust
//! 认证应用返回类型。
|
|
//!
|
|
//! 这里只返回纯应用结果与领域事件;短信 provider、JWT 签发和持久化由外层 adapter 完成。
|
|
|
|
use crate::domain::{AuthUser, RefreshSessionRecord, WechatAuthStateRecord};
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct AuthMeResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct PublicUserSearchResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct PasswordEntryResult {
|
|
pub user: AuthUser,
|
|
pub created: bool,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct ChangePasswordResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct UpdateProfileResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct ResetPasswordResult {
|
|
pub user: AuthUser,
|
|
pub provider: String,
|
|
pub provider_out_id: Option<String>,
|
|
pub phone_number_masked: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct SendPhoneCodeResult {
|
|
pub cooldown_seconds: u64,
|
|
pub expires_in_seconds: u64,
|
|
pub provider_request_id: Option<String>,
|
|
pub provider_out_id: Option<String>,
|
|
pub provider: String,
|
|
pub scene: String,
|
|
pub phone_number_masked: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct PhoneLoginResult {
|
|
pub user: AuthUser,
|
|
pub created: bool,
|
|
pub provider: String,
|
|
pub provider_out_id: Option<String>,
|
|
pub phone_number_masked: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct ResolveWechatLoginResult {
|
|
pub user: AuthUser,
|
|
pub created: bool,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct CreateWechatAuthStateResult {
|
|
pub state: WechatAuthStateRecord,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct ConsumeWechatAuthStateResult {
|
|
pub state: WechatAuthStateRecord,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct BindWechatPhoneResult {
|
|
pub user: AuthUser,
|
|
pub activated_new_user: bool,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct CreateRefreshSessionResult {
|
|
pub session: RefreshSessionRecord,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct RotateRefreshSessionResult {
|
|
pub session: RefreshSessionRecord,
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct ListActiveRefreshSessionsResult {
|
|
pub sessions: Vec<RefreshSessionRecord>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct RevokeRefreshSessionResult {
|
|
pub session_id: String,
|
|
pub revoked: bool,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct LogoutCurrentSessionResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct LogoutAllSessionsResult {
|
|
pub user: AuthUser,
|
|
}
|