-ต้นแบบ โครงสร้าง ไฟล์ API เส้น /api/ttc
This commit is contained in:
37
exthernal-ttc-api/src/middlewares/verifyEmailHandler.js
Normal file
37
exthernal-ttc-api/src/middlewares/verifyEmailHandler.js
Normal file
@@ -0,0 +1,37 @@
|
||||
import Redis from 'ioredis';
|
||||
import { GeneralService } from '../share/generalservice.js';
|
||||
// import { sendError } from './response.js';
|
||||
|
||||
export async function verifyEmailHandler(req, res) {
|
||||
const redis = new Redis();
|
||||
const generalService = new GeneralService();
|
||||
|
||||
try {
|
||||
const { email, token } = req.query;
|
||||
const schema = req.body?.organization || 'nuttakit'; // 🧩 ใช้ schema ตาม org
|
||||
const storedData = await redis.get(`verify:${email}`);
|
||||
|
||||
if (!storedData) {
|
||||
return res.status(400).send('ลิงก์หมดอายุหรือไม่ถูกต้อง');
|
||||
}
|
||||
|
||||
const { fname, lname, hashedPwd, token: storedToken } = JSON.parse(storedData);
|
||||
if (token !== storedToken) {
|
||||
return res.status(400).send('Token ไม่ถูกต้อง');
|
||||
}
|
||||
|
||||
let sql = `
|
||||
INSERT INTO ${schema}.usrmst (usrnam, usrthinam, usrthilstnam, usrpwd, usrrol)
|
||||
VALUES ($1, $2, $3, $4, 'U')
|
||||
`;
|
||||
let param = [email, fname, lname, hashedPwd];
|
||||
await generalService.executeQueryParam(sql, param);
|
||||
|
||||
await redis.del(`verify:${email}`);
|
||||
|
||||
res.send(`<h2>✅ ยืนยันอีเมลสำเร็จ บัญชีของคุณถูกสร้างแล้ว (${schema})</h2>`);
|
||||
} catch (error) {
|
||||
console.error('❌ [Verify Email Error]', error);
|
||||
res.status(500).send('เกิดข้อผิดพลาดในระบบ');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user