Skip to content

Register method response issue #7

@Developer-Nijat

Description

@Developer-Nijat
  1. RegisterPage
    Change handleFormSubmit method
async function handleFormSubmit(ev) {
    ev.preventDefault();
    setCreatingUser(true);
    setError(false);
    setUserCreated(false);

    let response;

    await fetch("/api/register", {
      method: "POST",
      body: JSON.stringify({ email, password }),
      headers: { "Content-Type": "application/json" },
    })
      .then((res) => res.json())
      .then((res) => {
        console.log("Response: ", res);
        response = res;
      })
      .catch((err) => {
        console.error("Error: ", err);
        response = err;
      });

    if (response._id) {
      setUserCreated(true);
    } else {
      setError(true);
    }
    setCreatingUser(false);
  }
  1. api/register/route.js
    Update POST method
export async function POST(req) {
const body = await req.json();
mongoose.connect(process.env.MONGO_URL);
const pass = body.password;

if (!pass?.length || pass.length < 5) {
  return Response.json(
    {
      message: "Password must be at least 5 characters",
      status: 400,
      ok: false
    },
    {
      status: 400,
    }
  );
}

const notHashedPassword = pass;
const salt = bcrypt.genSaltSync(10);
body.password = bcrypt.hashSync(notHashedPassword, salt);

const createdUser = await User.create(body);
return Response.json(createdUser);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions