refactor: 修复 modules 三层架构违规
- auth: actionDeleteAccount 改用 service+repo,forgot-password 完整三层实现 - card: serviceCheckCardOwnership 替代直接调用 repository - deck: 移除 service 层的 use server 指令 - dictionary: 数据转换逻辑从 repository 移到 service - ocr: 认证移到 action 层,跨模块调用改用 service - translator: genIPA/genLanguage 改用 service 层
This commit is contained in:
34
src/modules/auth/forgot-password-service.ts
Normal file
34
src/modules/auth/forgot-password-service.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { auth } from "@/auth";
|
||||
import { createLogger } from "@/lib/logger";
|
||||
import { repoFindUserByEmail } from "./forgot-password-repository";
|
||||
import {
|
||||
ServiceInputRequestPasswordReset,
|
||||
ServiceOutputRequestPasswordReset
|
||||
} from "./forgot-password-service-dto";
|
||||
|
||||
const log = createLogger("forgot-password-service");
|
||||
|
||||
export async function serviceRequestPasswordReset(dto: ServiceInputRequestPasswordReset): Promise<ServiceOutputRequestPasswordReset> {
|
||||
log.info("Processing password reset request", { email: dto.email });
|
||||
|
||||
const user = await repoFindUserByEmail({ email: dto.email });
|
||||
|
||||
if (!user) {
|
||||
return {
|
||||
success: false,
|
||||
message: "该邮箱未注册",
|
||||
};
|
||||
}
|
||||
|
||||
await auth.api.requestPasswordReset({
|
||||
body: {
|
||||
email: dto.email,
|
||||
redirectTo: "/reset-password",
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "重置密码邮件已发送,请检查您的邮箱",
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user