mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
58 lines
1.5 KiB
TypeScript
Executable File
58 lines
1.5 KiB
TypeScript
Executable File
import BluebirdPromise = require("bluebird");
|
|
|
|
import Endpoints = require("../../../../shared/api");
|
|
import UserMessages = require("../../../../shared/UserMessages");
|
|
|
|
import Constants = require("./constants");
|
|
import { Notifier } from "../Notifier";
|
|
|
|
export default function (window: Window, $: JQueryStatic) {
|
|
const notifier = new Notifier(".notification", $);
|
|
|
|
function modifyPassword(newPassword: string) {
|
|
return new BluebirdPromise(function (resolve, reject) {
|
|
$.post(Endpoints.RESET_PASSWORD_FORM_POST, {
|
|
password: newPassword,
|
|
})
|
|
.done(function (body: any) {
|
|
if (body && body.error) {
|
|
reject(new Error(body.error));
|
|
return;
|
|
}
|
|
resolve(body);
|
|
})
|
|
.fail(function (xhr, status) {
|
|
reject(status);
|
|
});
|
|
});
|
|
}
|
|
|
|
function onFormSubmitted() {
|
|
const password1 = $("#password1").val() as string;
|
|
const password2 = $("#password2").val() as string;
|
|
|
|
if (!password1 || !password2) {
|
|
notifier.warning(UserMessages.MISSING_PASSWORD);
|
|
return false;
|
|
}
|
|
|
|
if (password1 != password2) {
|
|
notifier.warning(UserMessages.DIFFERENT_PASSWORDS);
|
|
return false;
|
|
}
|
|
|
|
modifyPassword(password1)
|
|
.then(function () {
|
|
window.location.href = Endpoints.FIRST_FACTOR_GET;
|
|
})
|
|
.error(function () {
|
|
notifier.error(UserMessages.RESET_PASSWORD_FAILED);
|
|
});
|
|
return false;
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
$(Constants.FORM_SELECTOR).on("submit", onFormSubmitted);
|
|
});
|
|
}
|