Merge pull request #48 from linkwarden/dev
made the email field case-insensitive
This commit is contained in:
commit
94db41757f
|
@ -42,7 +42,7 @@ export default async function postCollection(
|
|||
color: collection.color,
|
||||
members: {
|
||||
create: collection.members.map((e) => ({
|
||||
user: { connect: { email: e.user.email } },
|
||||
user: { connect: { email: e.user.email.toLowerCase() } },
|
||||
canCreate: e.canCreate,
|
||||
canUpdate: e.canUpdate,
|
||||
canDelete: e.canDelete,
|
||||
|
|
|
@ -43,7 +43,7 @@ export default async function updateCollection(
|
|||
isPublic: collection.isPublic,
|
||||
members: {
|
||||
create: collection.members.map((e) => ({
|
||||
user: { connect: { email: e.user.email } },
|
||||
user: { connect: { email: e.user.email.toLowerCase() } },
|
||||
canCreate: e.canCreate,
|
||||
canUpdate: e.canUpdate,
|
||||
canDelete: e.canDelete,
|
||||
|
|
|
@ -7,7 +7,7 @@ export default async function getUser(
|
|||
) {
|
||||
const user = await prisma.user.findUnique({
|
||||
where: {
|
||||
email: lookupEmail,
|
||||
email: lookupEmail.toLowerCase(),
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -16,7 +16,7 @@ export default async function getUser(
|
|||
if (
|
||||
!isSelf &&
|
||||
user?.isPrivate &&
|
||||
!user.whitelistedUsers.includes(userEmail)
|
||||
!user.whitelistedUsers.includes(userEmail.toLowerCase())
|
||||
) {
|
||||
return { response: "This profile is private.", status: 401 };
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ export default async function updateUser(
|
|||
},
|
||||
data: {
|
||||
name: user.name,
|
||||
email: user.email,
|
||||
email: user.email.toLowerCase(),
|
||||
isPrivate: user.isPrivate,
|
||||
whitelistedUsers: user.whitelistedUsers,
|
||||
},
|
||||
|
|
|
@ -9,8 +9,8 @@ const addMemberToCollection = async (
|
|||
setMember: (newMember: Member) => null | undefined
|
||||
) => {
|
||||
const checkIfMemberAlreadyExists = collection.members.find((e) => {
|
||||
const email = e.user.email;
|
||||
return email === memberEmail;
|
||||
const email = e.user.email.toLowerCase();
|
||||
return email === memberEmail.toLowerCase();
|
||||
});
|
||||
|
||||
if (
|
||||
|
@ -22,7 +22,9 @@ const addMemberToCollection = async (
|
|||
memberEmail.trim() !== ownerEmail
|
||||
) {
|
||||
// Lookup, get data/err, list ...
|
||||
const user = await getPublicUserDataByEmail(memberEmail.trim());
|
||||
const user = await getPublicUserDataByEmail(
|
||||
memberEmail.trim().toLowerCase()
|
||||
);
|
||||
|
||||
if (user.email) {
|
||||
setMember({
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { toast } from "react-hot-toast";
|
||||
|
||||
export default async function getPublicUserDataByEmail(email: string) {
|
||||
const response = await fetch(`/api/routes/users?email=${email}`);
|
||||
const response = await fetch(
|
||||
`/api/routes/users?email=${email.toLowerCase()}`
|
||||
);
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ export const authOptions: AuthOptions = {
|
|||
|
||||
const findUser = await prisma.user.findFirst({
|
||||
where: {
|
||||
email: email,
|
||||
email: email.toLowerCase(),
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -35,7 +35,7 @@ export const authOptions: AuthOptions = {
|
|||
return {
|
||||
id: findUser?.id,
|
||||
name: findUser?.name,
|
||||
email: findUser?.email,
|
||||
email: findUser?.email.toLowerCase(),
|
||||
};
|
||||
} else return null as any;
|
||||
},
|
||||
|
@ -55,7 +55,7 @@ export const authOptions: AuthOptions = {
|
|||
if (trigger === "update" && session?.name && session?.email) {
|
||||
// Note, that `session` can be any arbitrary object, remember to validate it!
|
||||
token.name = session.name;
|
||||
token.email = session.email;
|
||||
token.email = session.email.toLowerCase();
|
||||
}
|
||||
return token;
|
||||
},
|
||||
|
|
|
@ -25,7 +25,7 @@ export default async function Index(
|
|||
|
||||
const checkIfUserExists = await prisma.user.findFirst({
|
||||
where: {
|
||||
email: body.email,
|
||||
email: body.email.toLowerCase(),
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -37,7 +37,7 @@ export default async function Index(
|
|||
await prisma.user.create({
|
||||
data: {
|
||||
name: body.name,
|
||||
email: body.email,
|
||||
email: body.email.toLowerCase(),
|
||||
password: hashedPassword,
|
||||
},
|
||||
});
|
||||
|
|
|
@ -8,7 +8,7 @@ export default async function Index(req: NextApiRequest, res: NextApiResponse) {
|
|||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
const userId = session?.user.id;
|
||||
const userEmail = session?.user.email;
|
||||
const userEmail = session?.user.email?.toLowerCase();
|
||||
const queryId = Number(req.query.id);
|
||||
|
||||
if (!queryId)
|
||||
|
|
Ŝarĝante…
Reference in New Issue