blob: 5de76f901da526c5599873d361ded0e96476a451 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// lib/users/verifyOtp.ts
import { findEmailandOtp } from '@/lib/users/service'
// "email과 code가 맞으면 유저 정보, 아니면 null" 형태로 작성
export async function verifyOtp(email: string, code: string) {
// DB에서 email과 code가 맞는지, 만료 안됐는지 검증
const otpRecord = await findEmailandOtp(email, code)
if (!otpRecord) {
return null
}
// 만료 체크
if (otpRecord.otpExpires && otpRecord.otpExpires < new Date()) {
return null
}
// 여기서 otpRecord에 유저 정보가 있다고 가정
// 예: otpRecord.userId, otpRecord.userName, otpRecord.email 등
// 실제 DB 설계에 맞춰 필드명을 조정하세요.
return {
email: otpRecord.email,
name: otpRecord.name,
id: otpRecord.id,
imageUrl: otpRecord.imageUrl,
companyId: otpRecord.companyId,
domain: otpRecord.domain,
}
}
|