molly-db
Version:
Molly-db is a free and open source library for nodejs that allow you create a lightweight encrypted database using Json files
44 lines (33 loc) • 2.49 kB
JavaScript
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/
const memory = require('./memory_handler');
const worker = require('worker_threads');
const init = require('./init_handler');
const app = require('./api_handler');
const {Buffer} = require('buffer');
const utils = require('./utils');
const http = require('http');
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/
function Error(error){ console.log(`worker error: ${error}`); }
function Exit(code){ console.log(`worker exit code: ${code}`); }
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/
function saveInterval(data,db){
setInterval(() => {
if( db._update_ ){
db._update_ = false;
utils.saveAll(data,db);
}
}, data.time * 3600 * 1000 );
}
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/
module.exports = (arg)=>{ init( arg ).then((db)=>{
process.env.MOLLY_DB_arg = JSON.stringify(arg);
const server = http.createServer((req,res)=>app(db,req,res,arg));
server.listen( arg.port, arg.host, ()=>{
console.log(JSON.stringify({
name: 'molly-db', protocol: 'HTTP',
port: arg.port, host: arg.host,
}));
}); saveInterval( arg, db );
}).catch((e)=>{ console.log(e) });
}
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/