diff --git a/.gitignore b/.gitignore index 3bfd739..ff8ac5a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ dump.rdb bin/ node_modules/ npm-debug.log +database.sqlite diff --git a/src/storage.js b/src/storage.js index 7032bab..9f95c32 100644 --- a/src/storage.js +++ b/src/storage.js @@ -1,10 +1,5 @@ var redis = require("redis"), - client = redis.createClient({ - return_buffers: true, - detect_buffers: false - }); - -var zlib = require('zlib'); + client = redis.createClient(); var Sequelize = require('sequelize'); var sequelize = new Sequelize('database', null, null, { @@ -17,28 +12,45 @@ var sequelize = new Sequelize('database', null, null, { storage: 'database.sqlite' }); -client.hget("note", "2015/7/12/hom", function (err, B) { - debugger - console.log("to unpack:", B.toString("base64")); - var R = zlib.gunzipSync(B); - console.log(R); -}); - -/* -var User = sequelize.define('User', { - username: Sequelize.STRING, - birthday: Sequelize.DATE +var Note = sequelize.define('Note', { + id: { type: Sequelize.STRING, unique: true, primaryKey: true }, + text: Sequelize.TEXT, + published: { type: Sequelize.DATE, defaultValue: Sequelize.NOW }, + edited: { type: Sequelize.DATE, allowNull: true, defaultValue: null }, + publisher: Sequelize.STRING(32), + password: Sequelize.STRING(16), + views: Sequelize.INTEGER, }); -sequelize.sync().then(function() { - return User.create({ - username: 'janedoe', - birthday: new Date(1980, 6, 20) +sequelize.sync().then(function () { + client.hgetall("note", function (err, notes) { + console.log("notes retrieved:", Object.keys(notes).length); + client.hgetall("published", function (err, published) { + console.log("published retrieved:", Object.keys(published).length); + client.hgetall("publisher", function (err, publisher) { + console.log("publisher retrieved:", Object.keys(publisher).length); + client.hgetall("password", function (err, password) { + console.log("password retrieved:", Object.keys(password).length); + client.hgetall("views", function (err, views) { + console.log("views retrieved:", Object.keys(views).length); + client.hgetall("edited", function (err, edited) { + console.log("edited retrieved:", Object.keys(edited).length); + console.log("all infos retrieved"); + Object.keys(notes).forEach(function (id) { + Note.create({ + id: id, + text: notes[id], + published: published[id] && new Date(published[id] * 1000) || new Date(), + publisher: publisher[id].indexOf("NPY") == -1 && publisher[id] || "NoteHub", + password: password[id] && password[id].length == 32 && password[id], + edited: !isNaN(edited[id]) && edited[id] && new Date(edited[id] * 1000) || null, + views: views[id], + }); + }); + }); + }); + }); + }); + }); }); -}).then(function(jane) { - console.log(jane.get({ - plain: true - })) -}); - -*/ \ No newline at end of file +})