diff --git a/src/modules/api/msgsDbStruct.json b/src/modules/api/msgsDbStruct.json new file mode 100644 index 0000000..d34255c --- /dev/null +++ b/src/modules/api/msgsDbStruct.json @@ -0,0 +1,44 @@ +{ + "msgs": { + "tableStruct": { + "sender": { + "type": "integer", + "notNull": true + }, + "reciever": { + "type": "integer", + "notNull": true + }, + "msg": { + "type": "text" + }, + "date": { + "type": "integer" + }, + "unread": { + "type": "integer", + "defaultZero": true + } + }, + "foreignKey": [ + { + "keysFrom": [ + "reciever" + ], + "table": "users", + "keysTo": [ + "id" + ] + }, + { + "keysFrom": [ + "sender" + ], + "table": "users", + "keysTo": [ + "id" + ] + } + ] + } +} diff --git a/src/modules/api/apiDBStruct.json b/src/modules/api/usersDBStruct.json similarity index 100% rename from src/modules/api/apiDBStruct.json rename to src/modules/api/usersDBStruct.json diff --git a/src/standaloneUtils/dbSetup.js b/src/standaloneUtils/dbSetup.js index a46ee93..feafed0 100644 --- a/src/standaloneUtils/dbSetup.js +++ b/src/standaloneUtils/dbSetup.js @@ -1,71 +1,41 @@ -const utils = require('../utils/utils.js') -const logger = require('../utils/logger.js') -const dbtools = require('../utils/dbtools.js') -const dbStructPath = '../modules/api/apiDBStruct.json' -const usersDBPath = '../data/dbs/users.db' -const { v4: uuidv4 } = require('uuid') +const utils = require('../../dist/utils/utils.js').default // eslint-disable-line +const logger = require('../../dist/utils/logger.js').default // eslint-disable-line +const dbtools = require('../../dist/utils/dbtools.js').default // eslint-disable-line +const { v4: uuidv4 } = require('uuid') // eslint-disable-line -let authDB +const dbStructPaths = [ + { structPath: '../modules/api/usersDBStruct.json', name: 'users.db' }, + { structPath: '../modules/api/msgsDbStruct.json', name: 'msgs.db' }, +] -console.clear() -CreateDB() +dbStructPaths.forEach((data) => { + const { structPath, name } = data + createDB(structPath, name) +}) -authDB.close() - -function CreateDB() { - const dbStruct = utils.ReadJSON(dbStructPath) - // authDB = dbtools.GetDB(':memory:') - authDB = dbtools.GetDB(usersDBPath) - authDB.pragma('synchronous = OFF') +function createDB(path, name) { + const dbStruct = utils.ReadJSON(path) + const db = dbtools.GetDB(`./${name}`) + db.pragma('synchronous = OFF') Object.keys(dbStruct).forEach((tableName) => { const tableData = dbStruct[tableName] dbtools.CreateTable( - authDB, + db, tableName, tableData.tableStruct, tableData.foreignKey ) }) - - try { - if (utils.FileExists('./ids')) { - const uids = utils.ReadFile('./ids').split('\n') - - uids.forEach((cid, i) => { - if (!cid) { - return - } - logger.Log(`[ ${i} / ${uids.length} ]`) - try { - dbtools.Insert(authDB, 'users', { - pw: uuidv4(), - avaiblePWRequests: 4, - created: utils.GetDateString(), - }) - } catch (e) { - logger.Log('Error during inserting', logger.GetColor('redbg')) - console.error(e) - } - }) - } - } catch (e) { - console.error(e) - } - - const dir = `./dbSetupResult/${utils.GetDateString().replace(/ /g, '_')}` - utils.CreatePath(dir) - Object.keys(dbStruct).forEach((key) => { - const path = `${dir}/${key}.json` - logger.Log(`Writing ${path}...`) - utils.WriteFile( - JSON.stringify({ - tableInfo: dbtools.TableInfo(authDB, key), - tableRows: dbtools.SelectAll(authDB, key), - }), - path - ) - }) + printDb(db, dbStruct) + db.close() logger.Log('Done') } + +function printDb(db, dbStruct) { + Object.keys(dbStruct).forEach((key) => { + console.log(dbtools.TableInfo(db, key)) + console.log(dbtools.SelectAll(db, key)) + }) +}