Updated the login and register to transform the e-mail to lowercase

This commit is contained in:
Tiago Ribeiro
2024-01-29 09:53:47 +00:00
parent b7b2718387
commit 800d04da37
3 changed files with 155 additions and 120 deletions

View File

@@ -1,10 +1,10 @@
import {NextApiRequest, NextApiResponse} from "next";
import {getAuth, signInWithEmailAndPassword} from "firebase/auth";
import {app} from "@/firebase";
import {sessionOptions} from "@/lib/session";
import {withIronSessionApiRoute} from "iron-session/next";
import {User} from "@/interfaces/user";
import {getFirestore, getDoc, doc} from "firebase/firestore";
import { NextApiRequest, NextApiResponse } from "next";
import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
import { app } from "@/firebase";
import { sessionOptions } from "@/lib/session";
import { withIronSessionApiRoute } from "iron-session/next";
import { User } from "@/interfaces/user";
import { getFirestore, getDoc, doc } from "firebase/firestore";
const auth = getAuth(app);
const db = getFirestore(app);
@@ -12,27 +12,27 @@ const db = getFirestore(app);
export default withIronSessionApiRoute(login, sessionOptions);
async function login(req: NextApiRequest, res: NextApiResponse) {
const {email, password} = req.body as {email: string; password: string};
const { email, password } = req.body as { email: string; password: string };
signInWithEmailAndPassword(auth, email, password)
.then(async (userCredentials) => {
const userId = userCredentials.user.uid;
signInWithEmailAndPassword(auth, email.toLowerCase(), password)
.then(async (userCredentials) => {
const userId = userCredentials.user.uid;
const docUser = await getDoc(doc(db, "users", userId));
if (!docUser.exists()) {
res.status(401).json({error: 401, message: "User does not exist!"});
return;
}
const docUser = await getDoc(doc(db, "users", userId));
if (!docUser.exists()) {
res.status(401).json({ error: 401, message: "User does not exist!" });
return;
}
const user = docUser.data() as User;
const user = docUser.data() as User;
req.session.user = {...user, id: userId};
await req.session.save();
req.session.user = { ...user, id: userId };
await req.session.save();
res.status(200).json({user: {...user, id: userId}});
})
.catch((error) => {
console.log(error);
res.status(401).json({error});
});
res.status(200).json({ user: { ...user, id: userId } });
})
.catch((error) => {
console.log(error);
res.status(401).json({ error });
});
}