Sixtens hemsida Uppgifter Blogg Om

VED House bokningssystem

Gå till sida

Källkod

api/

database.php

api.php

ved/

monthBookingData.php

openingHoursException.php

bookingData.php

dayTimeframes.php

bookings.php

admin/

revokeToken.php

authorization.php

login.php

modules/

vedDatabase.php

utility.php

gyar/

log.php

auth/

revokeToken.php

authorization.php

login.php

station/

settings.php

log.php

modules/

gyarDatabase.php

databaseConnection.php

database.php

utility.php

credentials.json

weather/

latest.php

old.php

admin/

index.html

changeTimetable.html

login.html

js/

login.js

modules.js

admin.js

header.js

changeTimetable.js

cron/

vedClearExpiredTokens.php

weuweb01/ved/admin/js/login.js

1 lines
import { Cookies, vedAPI as api } from "./modules.js";

var form = document.getElementById("login-form");
var loginStatus = document.getElementById("login-status");

async function processForm(e) {
    if (e.preventDefault) e.preventDefault();
    loginStatus.innerText = "";

    let username = form.querySelector("[name=username]").value;
    let password = form.querySelector("[name=password]").value;
    let res = await api.fetch("admin/login", "POST", {
        "body": JSON.stringify({
            "username": username,
            "password": password
        })
    }, false);
    if (res.ok) {
        let data = await res.json();
        Cookies.setValue("token", data["token"], data["expiresIn"]);
        window.location = "index.html";
        return;
    }
    switch (res.status) {
        case 401:
            loginStatus.innerText = "Felaktigt namn eller lösenord.";
            break;
        case 404:
        case 503:
            loginStatus.innerText = "Kunde inte ansluta till server. Försök igen senare.";
            break;
        default:
            loginStatus.innerText = "Okänt fel. Försök igen senare.";
    }
}

if (Cookies.getValue("token")) {
    window.location = "index.html";
}

if (form.attachEvent) {
    form.attachEvent("submit", processForm);
} else {
    form.addEventListener("submit", processForm);
}