31 lines
1014 B
TypeScript
31 lines
1014 B
TypeScript
import {NextApiRequest, NextApiResponse} from "next";
|
|
import {getAuth, sendEmailVerification, sendSignInLinkToEmail, User} from "firebase/auth";
|
|
import {getAuth as getAdminAuth, UserRecord} from "firebase-admin/auth";
|
|
import {app, adminApp} from "@/firebase";
|
|
import {sessionOptions} from "@/lib/session";
|
|
import {withIronSessionApiRoute} from "iron-session/next";
|
|
import {prepareMailer, prepareMailOptions} from "@/email";
|
|
import ShortUniqueId from "short-unique-id";
|
|
|
|
export default withIronSessionApiRoute(sendVerification, sessionOptions);
|
|
|
|
async function sendVerification(req: NextApiRequest, res: NextApiResponse) {
|
|
const short = new ShortUniqueId();
|
|
|
|
if (req.session.user) {
|
|
const transport = prepareMailer("verification");
|
|
const mailOptions = prepareMailOptions(
|
|
{
|
|
name: req.session.user.name,
|
|
code: short.randomUUID(6),
|
|
email: req.session.user.email,
|
|
},
|
|
[req.session.user.email],
|
|
"EnCoach Verification",
|
|
"verification",
|
|
);
|
|
|
|
await transport.sendMail(mailOptions);
|
|
}
|
|
}
|