2021-10-04 18:12:27 +00:00
|
|
|
import escape from 'escape-html';
|
2021-06-04 00:58:40 +00:00
|
|
|
import withSession from '../../lib/session';
|
|
|
|
|
import connectDb from '../../utils/db.js';
|
|
|
|
|
import Guest from '../../models/Guest';
|
|
|
|
|
|
|
|
|
|
export default withSession(async (req, res) => {
|
|
|
|
|
const {
|
|
|
|
|
query: { id },
|
|
|
|
|
method,
|
|
|
|
|
session,
|
|
|
|
|
} = req;
|
|
|
|
|
|
2022-01-11 01:14:30 +00:00
|
|
|
const { user } = session;
|
2021-06-04 00:58:40 +00:00
|
|
|
|
|
|
|
|
if (!user?.isLoggedIn) {
|
|
|
|
|
res.status(401).end();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-04 18:11:00 +00:00
|
|
|
// TODO: REMOVE THIS WHEN TAKING YOUR SITE TO PRODUCTION
|
|
|
|
|
if (process.env.SITE_ENV === 'TEST_SITE') {
|
2022-03-08 20:08:13 +00:00
|
|
|
res.status(200).json({ status: 'SUCCESS', groupId: 'TESTID-12345' });
|
2021-06-04 20:43:37 +00:00
|
|
|
} else {
|
|
|
|
|
await connectDb();
|
|
|
|
|
const { firstName, lastName } = await req.body;
|
2021-06-04 00:58:40 +00:00
|
|
|
|
2021-06-04 20:43:37 +00:00
|
|
|
try {
|
|
|
|
|
const result = await Guest.findOne({
|
2021-10-04 18:12:27 +00:00
|
|
|
firstName: { $regex: new RegExp(escape(firstName.trim()), 'i') },
|
|
|
|
|
lastName: { $regex: new RegExp(escape(lastName.trim()), 'i') },
|
2021-06-04 20:43:37 +00:00
|
|
|
});
|
|
|
|
|
// console.log(JSON.stringify(result));
|
|
|
|
|
res.status(200).json({ status: 'SUCCESS', groupId: result.group });
|
|
|
|
|
} catch (error) {
|
|
|
|
|
const { response: fetchResponse } = error;
|
|
|
|
|
res.status(fetchResponse?.status || 500).json({ status: 'FAILURE' });
|
|
|
|
|
}
|
2021-06-04 00:58:40 +00:00
|
|
|
}
|
|
|
|
|
});
|