Skip to content
Snippets Groups Projects
register.js 1.58 KiB
Newer Older
asmundh's avatar
asmundh committed
async function createNewUser(event) {
    let form = document.querySelector("#form-register-user");
    let formData = new FormData(form);
    let response = await sendRequest("POST", `${HOST}/api/users/`, formData, "");
asmundh's avatar
asmundh committed
    if (!response.ok) {
      let data = await response.json();
      let alert = createAlert("Registration failed!", data);
      document.body.prepend(alert);

    } else {
      let body = {
asmundh's avatar
asmundh committed
        username:       formData.get("username"),
        password:       formData.get("password"),
        phone_number:   formData.get("phone_number"),
        country:        formData.get("country"),
        city:           formData.get("city"),
hollum's avatar
hollum committed
        street_address: formData.get("street_address"),
          main_gym:   formData.get("main_gym"),
          favourite_exercise:   formData.get("favourite_exercise")
asmundh's avatar
asmundh committed
        };
      response = await sendRequest("POST", `${HOST}/api/token/`, body);
      if (response.ok) {
          let data = await response.json();
          setCookie("access", data.access, 86400, "/");
          setCookie("refresh", data.refresh, 86400, "/");
          sessionStorage.setItem("username", formData.get("username"));
      } else {
        console.log("CAN'T GET JWT TOKEN ON REGISTRATION");
        let data = await response.json();
        let alert = createAlert("Registration could not complete. Try again!", data);
        document.body.prepend(alert);
      }
      form.reset();
      window.location.replace("workouts.html");
asmundh's avatar
asmundh committed
  }

hollum's avatar
hollum committed
document.querySelector("#btn-create-account").addEventListener("click", async (event) => await createNewUser(event));