Jednoduchá knihovna pro API bakalářů.
Pokud máte npm, můžete jednoduše nainstalovat:
npm install bakalari-js --save
NPM je momentálně nutnost, jelikož API vyžaduje 2 knihovny (got na requesty a fast-xml-parser na parsovaní XML)
Pokud nemáte NPM či používáte zcela jiný jazyk, je k dispozici JSON API. Upozorňuji však, že posílání požadavků na API momentálně není bezpečné, jelikož nemám nastavený SSL certifikát a heslo se posílá v rámci URL. Toto však bude v nejbližší době opraveno.
http://api.danbulant.eu/v1/bakalari/<modul>/<jmeno>/<domena>/<heslo>
kde se proměnné <> nahradí hodnotama.
Pro seznam dostupných modulů běžte na neoficiální dokumentaci zde.
Jednoduchý příklad na získání rozvrhu pro tento týden:
const Api = require("bakalari-js");
var bak = new Api;
const settings = {
domain: "domena.tld",
name: "jmeno",
password: "heslo"
}
bak.setDomain(settings.domain);
bak.setName(settings.name);
bak.setPassword(settings.password);
bak.genSalt().then(async (salt) => {
if (!salt) {
console.error("Neexistující uživatel");
return;
}
bak.genToken();
var resp = await bak.request(req.params.info);
var info = resp.results;
console.log(info);
}).catch(e => {
console.log("Špatná doména či uživatel");
});Hlavní třída která se též exportuje.
Momentálně nebere žádné parametry, ale plánuje se možnost objektu s nastavením.
Nastaví doménu na domain.
Nastaví jméno uživatele na name.
Nastaví heslo uživatele na password.
Vygeneruje potřebnou sůl k získání tokenu. Pro správnou funkci je třeba mít nastavené předchozí hodnoty (doména, jméno a heslo). Sůl je dostupná až po vyřešení promise. V promise se vrací sůl, avšak ji nemusíte nijak uchovávat - třida si ji uloží jako property, je tedy určena především na kontrolu zda se sůl podařilo vygenerovat.
Vygeneruje token pro dnešní den (musí se generovat každý den). Je třeba mít sůl pro vygenerování tokenu. Token je třeba pro requesty.
Získá data z modulu. Je třeba mít nastavený token. Seznam modulů dostupný zde.
Ne všechny funkce třídy jsou dokumentované, avšak dané funkce jsou pouze pro interní použití.
Můžete mne podpořit na patreonu.