38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { hash } from "bcrypt";
|
|
import "dotenv/config";
|
|
import { db, connection } from "@/db/db";
|
|
import { users } from "@/db/schema";
|
|
import { NextResponse } from "next/server";
|
|
|
|
export async function POST(request: Request) {
|
|
try {
|
|
const { email, password } = await request.json();
|
|
// validate email and password(temporarily hard coded)
|
|
if (
|
|
email === process.env.ADMIN_EMAIL &&
|
|
password === process.env.ADMIN_PWD
|
|
) {
|
|
console.log({ message: "success!" });
|
|
console.log({ email, password });
|
|
}
|
|
// return if not admin
|
|
else {
|
|
console.log({ message: "Incorrect credentials for admin!" });
|
|
console.log({ email, password });
|
|
return NextResponse.json({ message: "failed" });
|
|
}
|
|
|
|
// Use Bcrypt to hash password
|
|
const hashedPassword = await hash(password, 10);
|
|
// console.log({message:'hash is', hashedPassword})
|
|
|
|
const response = await db.insert(users).values({
|
|
email: email,
|
|
password: password,
|
|
});
|
|
} catch (e) {
|
|
console.log({ e });
|
|
}
|
|
return NextResponse.json({ message: "pass" });
|
|
}
|