Readme update, and dbSetup uncommenting code

This commit is contained in:
MrFry 2020-04-10 15:42:11 +02:00
parent cbda399176
commit 2535ee92b0
4 changed files with 38 additions and 11 deletions

View file

@ -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

View file

@ -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

@ -1 +1 @@
Subproject commit a25e64189e050bcde8408bef0628d792e10b8b67
Subproject commit 93c5d887f5d92dd6fa13814db102d76cde49e901

View file

@ -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')) {