summaryrefslogtreecommitdiff
path: root/backend/node/src/clipperz.js
authorMichael Krelin <hacker@klever.net>2013-11-27 17:11:26 (UTC)
committer Michael Krelin <hacker@klever.net>2013-11-27 17:11:26 (UTC)
commit0f1cc2ac41835ee8fa5dded1593fa95092b54bbe (patch) (unidiff)
tree8563cd1578aad126c803be452dedd3b9dd9e0921 /backend/node/src/clipperz.js
parentb59defff1efe85e43850243910007dd1fe3a4ef2 (diff)
downloadclipperz-0f1cc2ac41835ee8fa5dded1593fa95092b54bbe.zip
clipperz-0f1cc2ac41835ee8fa5dded1593fa95092b54bbe.tar.gz
clipperz-0f1cc2ac41835ee8fa5dded1593fa95092b54bbe.tar.bz2
switched postgresql schema from json type to plaintext
Diffstat (limited to 'backend/node/src/clipperz.js') (more/less context) (ignore whitespace changes)
-rw-r--r--backend/node/src/clipperz.js20
1 files changed, 11 insertions, 9 deletions
diff --git a/backend/node/src/clipperz.js b/backend/node/src/clipperz.js
index b98c00e..b8b4d3e 100644
--- a/backend/node/src/clipperz.js
+++ b/backend/node/src/clipperz.js
@@ -18,16 +18,18 @@ function clipperz_store(PG) {
18 var rv = function(o) { express_store.call(this,o); } 18 var rv = function(o) { express_store.call(this,o); }
19 rv.prototype.get = function(sid,cb) { PG.Q( 19 rv.prototype.get = function(sid,cb) { PG.Q(
20 "SELECT s_data FROM clipperz.thesession WHERE s_id=$1",[sid], 20 "SELECT s_data FROM clipperz.thesession WHERE s_id=$1",[sid],
21 function(e,r) { cb(e,(e||!r.rowCount)?null:r.rows[0].s_data); } 21 function(e,r) { cb(e,(e||!r.rowCount)?null:JSON.parse(r.rows[0].s_data)); }
22 ) }; 22 ) };
23 rv.prototype.set = function(sid,data,cb) { PG.Q( 23 rv.prototype.set = function(sid,data,cb) {
24 "UPDATE clipperz.thesession SET s_data=$1, s_mtime=current_timestamp" 24 var d = JSON.stringify(data);
25 +" WHERE s_id=$2",[data,sid], function(e,r) { 25 PG.Q(
26 "UPDATE clipperz.thesession SET s_data=$1, s_mtime=current_timestamp"
27 +" WHERE s_id=$2",[d,sid], function(e,r) {
26 if(e) return cb(e); 28 if(e) return cb(e);
27 if(r.rowCount) return cb(); 29 if(r.rowCount) return cb();
28 PG.Q("INSERT INTO clipperz.thesession (s_id,s_data) VALUES ($1,$2)",[sid,data],cb); 30 PG.Q("INSERT INTO clipperz.thesession (s_id,s_data) VALUES ($1,$2)",[sid,d],cb);
29 } 31 });
30 ) }; 32 };
31 rv.prototype.destroy = function(sid,cb) { PG.Q( 33 rv.prototype.destroy = function(sid,cb) { PG.Q(
32 "DELETE FROM clipperz.thesession WHERE s_id=$1",[sid],cb 34 "DELETE FROM clipperz.thesession WHERE s_id=$1",[sid],cb
33 ) }; 35 ) };
@@ -226,7 +228,7 @@ var CLIPPERZ = module.exports = function(CONFIG) {
226 switch(message) { 228 switch(message) {
227 case 'getUserDetails': return ASYNC.parallel({ 229 case 'getUserDetails': return ASYNC.parallel({
228 u: function(cb) { 230 u: function(cb) {
229 PG.Q("SELECT u_header::varchar,u_statistics,u_version FROM clipperz.theuser WHERE u_id=$1", 231 PG.Q("SELECT u_header,u_statistics,u_version FROM clipperz.theuser WHERE u_id=$1",
230 [req.session.u],function(e,r) { 232 [req.session.u],function(e,r) {
231 if(e) return cb(e); 233 if(e) return cb(e);
232 if(!r.rowCount) return cb(new Error("user's gone AWOL")); 234 if(!r.rowCount) return cb(new Error("user's gone AWOL"));
@@ -502,7 +504,7 @@ var CLIPPERZ = module.exports = function(CONFIG) {
502 u: function(cb) { 504 u: function(cb) {
503 PG.Q( 505 PG.Q(
504 "SELECT" 506 "SELECT"
505 +" u_name, u_srp_s, u_srp_v, u_authversion, u_header::varchar, u_statistics, u_version" 507 +" u_name, u_srp_s, u_srp_v, u_authversion, u_header, u_statistics, u_version"
506 +" FROM clipperz.theuser WHERE u_id=$1",[req.session.u],function(e,r) { 508 +" FROM clipperz.theuser WHERE u_id=$1",[req.session.u],function(e,r) {
507 if(e) return cb(e); 509 if(e) return cb(e);
508 if(!r.rowCount) return cb(new Error("user's gone AWOL")); 510 if(!r.rowCount) return cb(new Error("user's gone AWOL"));