interface loginInput {
email: string;
password: string;
}
login: publicProcedure.input(loginInput).mutation(async (opts) => {
const { input } = opts;
let user = await prisma.user.findFirst({
where: {
email: input.email,
},
});
if (!user)
throw new TRPCError({ code: "CONFLICT", message: "User Not Found" });
const compare = await bcrypt.compare(input.password, user.password);
if (!compare)
throw new TRPCError({
code: "FORBIDDEN",
message: "Enter correct credentials",
});
const token = jwt.sign({ userId: user.id }, secret_key);
return { token };
}),
interface loginInput {
email: string;
password: string;
}
login: publicProcedure.input(loginInput).mutation(async (opts) => {
const { input } = opts;
let user = await prisma.user.findFirst({
where: {
email: input.email,
},
});
if (!user)
throw new TRPCError({ code: "CONFLICT", message: "User Not Found" });
const compare = await bcrypt.compare(input.password, user.password);
if (!compare)
throw new TRPCError({
code: "FORBIDDEN",
message: "Enter correct credentials",
});
const token = jwt.sign({ userId: user.id }, secret_key);
return { token };
}),