refactor(dto): move app models into dto layer
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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,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) */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* - `ChatWebSocketConnected` 事件 → true
|
||||
* - `userSession.exit` → false(WS actor cleanup 时也会跑 exit)
|
||||
*/
|
||||
import type { UiMessage } from "@/models/chat/ui-message";
|
||||
import type { UiMessage } from "@/data/dto/chat";
|
||||
|
||||
export interface ChatState {
|
||||
messages: UiMessage[];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* User 状态机:事件联合
|
||||
*/
|
||||
import type { UserView } from "@/models/user/user";
|
||||
import type { UserView } from "@/data/dto/user";
|
||||
|
||||
export type UserEvent =
|
||||
| { type: "UserInit" }
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* - machine 依赖 actors(import)—— 不直接依赖 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,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;
|
||||
|
||||
Reference in New Issue
Block a user