refactor(dto): move app models into dto layer

This commit is contained in:
2026-06-17 17:34:55 +08:00
parent f0b5275c55
commit 5d66cef85c
24 changed files with 30 additions and 41 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
import { fromPromise } from "xstate";
import { AuthPlatform, type AuthProvider } from "@/lib/auth/auth_platform";
import type { LoginStatus } from "@/models/auth/login-status";
import type { LoginStatus } from "@/data/dto/auth";
import { authRepository } from "@/data/repositories/auth_repository";
import type { IAuthRepository } from "@/data/repositories/interfaces";
import { AuthStorage } from "@/data/storage/auth/auth_storage";
+1 -2
View File
@@ -4,8 +4,7 @@
* 事件名与原 Dart AuthEvent 对齐。
*/
import type { AuthProvider } from "@/lib/auth/auth_platform";
import type { AuthMode } from "@/models/auth/auth-mode";
import type { AuthPanelMode } from "@/models/auth/auth-panel-mode";
import type { AuthMode, AuthPanelMode } from "@/data/dto/auth";
export type AuthEvent =
// 内部 UI 事件
+1 -3
View File
@@ -1,9 +1,7 @@
/**
* Auth 状态机:State 形状 + 初始值
*/
import type { AuthMode } from "@/models/auth/auth-mode";
import type { AuthPanelMode } from "@/models/auth/auth-panel-mode";
import type { LoginStatus } from "@/models/auth/login-status";
import type { AuthMode, AuthPanelMode, LoginStatus } from "@/data/dto/auth";
export interface AuthState {
/** 当前面板模式(Facebook / Email */
+1 -1
View File
@@ -308,4 +308,4 @@ export const sendMessageWsActor = fromPromise<void, { content: string }>(
);
// Re-export `UiMessage` type for the chat-machine.ts public API
type UiMessage = import("@/models/chat/ui-message").UiMessage;
type UiMessage = import("@/data/dto/chat").UiMessage;
+1 -1
View File
@@ -20,7 +20,7 @@
* - `AuthStorage` import 已删(只 `readInitData` 用过,移到 `chatInit` actor 上层调用)
*/
import type { UiMessage } from "@/models/chat/ui-message";
import type { UiMessage } from "@/data/dto/chat";
import { chatRepository } from "@/data/repositories/chat_repository";
import type { IChatRepository } from "@/data/repositories/interfaces";
import { ChatStorage } from "@/data/storage/chat/chat_storage";
+1 -1
View File
@@ -9,7 +9,7 @@
* - `ChatWebSocketConnected` 事件 → true
* - `userSession.exit` → falseWS actor cleanup 时也会跑 exit
*/
import type { UiMessage } from "@/models/chat/ui-message";
import type { UiMessage } from "@/data/dto/chat";
export interface ChatState {
messages: UiMessage[];
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* User 状态机:事件联合
*/
import type { UserView } from "@/models/user/user";
import type { UserView } from "@/data/dto/user";
export type UserEvent =
| { type: "UserInit" }
+2 -2
View File
@@ -14,7 +14,7 @@
import { fromPromise } from "xstate";
import type { UserView } from "@/models/user/user";
import type { UserView } from "@/data/dto/user";
import { userRepository } from "@/data/repositories/user_repository";
import { authRepository } from "@/data/repositories/auth_repository";
import type {
@@ -70,4 +70,4 @@ export const userFetchActor = fromPromise<UserView | null>(async () => {
*/
export const userLogoutActor = fromPromise<void>(async () => {
await authRepo.logout();
});
});
+2 -2
View File
@@ -13,7 +13,7 @@
* - machine 依赖 actorsimport)—— 不直接依赖 helpers
*/
import type { UserView } from "@/models/user/user";
import type { UserView } from "@/data/dto/user";
import { UserStorage } from "@/data/storage/user/user_storage";
import { Result } from "@/utils/result";
@@ -102,4 +102,4 @@ export async function readInitData(): Promise<InitData> {
}
return { user, avatarUrl };
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* User 状态机:State 形状 + 初始值
*/
import type { UserView } from "@/models/user/user";
import type { UserView } from "@/data/dto/user";
export interface UserState {
currentUser: UserView | null;