diff --git a/README.md b/README.md index 9034e35..8437d8a 100755 --- a/README.md +++ b/README.md @@ -60,9 +60,12 @@ motd.js | `data.json` és ./public/motd -be írja a paraméterként kapott szöv ids.js | egyedi felhasználó azonosítókat írja statisztika fájlba dataUpdater.js | régifajta adatbázist, amiben még van `.Q` propertyjű kérdés alakít át changedataversion.js | `data.json`-ban és a ./public/version ban írja át a teszt megoldó kliens aktuális verzióját -merger.js | Paraméterként kapott adatbázisból törli az egyező bejegyzéseket, és egyesíti egy fájlba merge.sh | Biztonsági mentést készít, és egyszerűsíti az adatbázist, majd felülírja az újjal classes.js | Összehasonlításhoz és tároláshoz szükséges osztályok +dbSetup.js | Üres / előre userrel feltöltött adatbázist hoz létre +dbtools.js | Javascript wrapper gyakran használt SQL utasításokhoz +rmDuplicates.js | Paraméterként átadott JSON kérdés adatbázisból távolítja el az ugyanolyan kérdéseket +runSqliteCmds.sh | Paraméterként átadott adatbázison futtatja a második paraméterben található Sqlite parancsokat # Egyéb Jelenleg sok optimalizálatlan rész található benne, cél ezek kijavítása, szépítése diff --git a/devel/readme.md b/devel/readme.md index 6069497..f9e1b12 100644 --- a/devel/readme.md +++ b/devel/readme.md @@ -16,9 +16,33 @@ A `make.sh` script futtatása minden eddigi szerver által használt/generált a Szükséges könyvtár struktúrát és egyéb fájlokat automatikusan létrehozza a `make.sh` script -`npm start ${debugLevel]` ahol a `debugLevel` egy szám, hogy milyen részletesen történjen a logolás. +Majd: -Jelenleg a max ilyen 3-4 körül van. Minél nagyobb a szám annál bővebb a log +`npm run dev` +vagy +`npm start` + +## Környezeti változók +* `NS_SQL_DEBUG_LOG` + + Ha `true`, akkor minden SQL utasítás ki lesz írva a konzolra + +* `NS_LOGLEVEL` + + Egy szám lehet, ami minél nagyobb annál részletesebben történik a logolás konzolra. Jelenleg ez + ilyen 1-4 közötti skálán mozog. + +## Adatbázis előkészítése + +A szerver egy felhasználókat, session-öket és ehhez tartozó segéd táblákat tartalmazó adatbázist +használ. Az adatbázis struktúrát a `modules/api/apiDBStruct.json` tartalmazza, és az adatbázis +módosításához szükséges függvények az `utils/dbtools.js` fájlban vannak megvalósítva. Így nem kell +SQL lekérdezéseket írni, csak ezeket meghívni. + +A `make.sh` script automatikusan létrehoz egy üres adatbázist a `utils/dbSetup.js` segítségével. +Később ezt manuálisan futtatva alaphelyzetbe lehet állítani az adatbázist. Ha létezik egy +`utils/ids` fájl, ami sorokban felhasználó kliens ID-kat tartalmaz, akkor a `utils/dbSetup.js` +automatikusan létrehoz ezek alapján felhasználókat. ## Hogy az API és a többi modul tudjon kommunikálni: @@ -34,11 +58,11 @@ lokálisan az API és a usercript!__ Figyelj rá, hogy az IP cím és az url közötti spacing az pontosan 1 tab! - Firefox nem mindig használha a hosts filet! Ennélkül a qmining modul nem bír kommunikálni az api-val, ahonnan szedi a kérdéseket, motd-t, felhasználó kérdéseket és ilyesmiket. + Firefox nem mindig használja a hosts filet! Ennélkül a qmining modul nem bír kommunikálni az api-val, ahonnan szedi a kérdéseket, motd-t, felhasználó kérdéseket és ilyesmiket. 2. Ezután a server.js-ben a portot írd át 80-ra és superuserként kell indítani a szervert -3. Ezután a böngészóben a qmining.frylabs.net-en a gépen futó szerver lesz elérhető +3. Ezután a böngészőben a qmining.frylabs.net-en a gépen futó szerver lesz elérhető A frylabs.net-es url-ek helyett lehet mást is használni, de néhány helyen előfordulhat hogy be van még égetve, ezért ezek ajánlottak @@ -57,7 +81,7 @@ A feedback oldalra írt üzenetek ebbe mentődnek ### stats -JSON file, kulcsok az url-ek, az értékek pedig hogy hányszor kérődtek le +JSON file, kulcsok az url-ek, az értékek pedig hogy hányszor lettek lekérve ### vstats diff --git a/public/moodle-test-userscript b/public/moodle-test-userscript index a25e641..93c5d88 160000 --- a/public/moodle-test-userscript +++ b/public/moodle-test-userscript @@ -1 +1 @@ -Subproject commit a25e64189e050bcde8408bef0628d792e10b8b67 +Subproject commit 93c5d887f5d92dd6fa13814db102d76cde49e901 diff --git a/utils/dbSetup.js b/utils/dbSetup.js index fcadf35..a00b4c7 100644 --- a/utils/dbSetup.js +++ b/utils/dbSetup.js @@ -18,10 +18,10 @@ function CreateDB () { authDB = dbtools.GetDB(usersDBPath) authDB.pragma('synchronous = OFF') - // Object.keys(dbStruct).forEach((tableName) => { - // const tableData = dbStruct[tableName] - // dbtools.CreateTable(authDB, tableName, tableData.tableStruct, tableData.foreignKey) - // }) + Object.keys(dbStruct).forEach((tableName) => { + const tableData = dbStruct[tableName] + dbtools.CreateTable(authDB, tableName, tableData.tableStruct, tableData.foreignKey) + }) try { if (utils.FileExists('./ids')) {