127.0.0.1:8000 watch-together / master src / js / password-reset.js
master

Tree @master (Download .tar.gz)

password-reset.js @masterraw · history · blame

require('../scss/style.scss');
require('./utils/logger');
const ui = require('./ui/common');
const $ = require('jquery');
const utils = require('./utils');
const api = require('./utils/api');
const query_string = require('query-string');

let qs = query_string.parse(location.search);
logger.log(qs);

ui.init_new_password();

$("#update_password_button").on("click", function() {
    let new_password = $("#new_password").val()
    utils.validate.keys({
        token: qs.token,
        new_password: new_password
    }, [
        ["token", "Password reset token required", utils.validate.uuid],
        ["new_password", "Passwords don't match", password => password === $("#confirm_password").val()],
        ["new_password", "You must appease the password strength meter", password => utils.validate.password(password).score]
    ]).then(function(data) {
        return api.post("/account/password-reset", data, {
            add_captcha_token: {}
        });
    }).then(function(data) {
        return api.post("/account/login", {
            captcha_bypass_token: data.captcha_bypass_token,
            email: data.email,
            password: new_password
        });
    }).then(function() {
        window.location = "/";
    }).catch(api.handle_error_message);
});