Skip to content

Commit

Permalink
Added message persistence
Browse files Browse the repository at this point in the history
  • Loading branch information
Pat Patterson committed Jun 10, 2011
1 parent 41e5c43 commit 2ced3d4
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions server.js
Expand Up @@ -18,11 +18,37 @@ var fu = require("./fu"),


var MESSAGE_BACKLOG = 200, var MESSAGE_BACKLOG = 200,
SESSION_TIMEOUT = 60 * 1000; SESSION_TIMEOUT = 60 * 1000;

var pg = require('pg').native; //native libpq bindings = `var pg = require('pg').native`
var conString = process.env.DATABASE_URL || "tcp://postgres:1234@localhost/postgres";

var client = new pg.Client(conString);
client.connect();

client.query("CREATE TABLE chat_messages(nick varchar(50), type varchar(10), text varchar(1024), timestamp bigint)",
function(err, result) {
if (err) {
if (err.code === '42P07') {
console.log("chat_messages table already exists");
} else {
console.log(err);
}
} else {
console.log("created chat_messages table");
}
});


var channel = new function () { var channel = new function () {
var messages = [], var messages = [],
callbacks = []; callbacks = [];

var query = client.query("SELECT * FROM chat_messages ORDER BY timestamp LIMIT $1", [MESSAGE_BACKLOG]);


query.on('row', function(row) {
console.log(row);
messages.push(row);
});

this.appendMessage = function (nick, type, text) { this.appendMessage = function (nick, type, text) {
var m = { nick: nick var m = { nick: nick
, type: type // "msg", "join", "part" , type: type // "msg", "join", "part"
Expand All @@ -43,6 +69,7 @@ var channel = new function () {
} }


messages.push( m ); messages.push( m );
client.query("INSERT INTO chat_messages(nick, type, text, timestamp) values($1, $2, $3, $4)", [m.nick, m.type, m.text, m.timestamp]);


while (callbacks.length > 0) { while (callbacks.length > 0) {
callbacks.shift().callback([m]); callbacks.shift().callback([m]);
Expand Down

0 comments on commit 2ced3d4

Please sign in to comment.