119 lines
2.8 KiB
Rust
119 lines
2.8 KiB
Rust
//! 认证应用返回类型。
|
|
//!
|
|
//! 这里只返回纯应用结果与领域事件;短信 provider、JWT 签发和持久化由外层 adapter 完成。
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::domain::{
|
|
AuthStoreSnapshotRecord, 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 LogoutCurrentSessionResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub struct LogoutAllSessionsResult {
|
|
pub user: AuthUser,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct AuthStoreSnapshotProcedureResult {
|
|
pub ok: bool,
|
|
pub record: Option<AuthStoreSnapshotRecord>,
|
|
pub error_message: Option<String>,
|
|
}
|