Esempio n. 1
0
 redisClient.get(userid, function(err, reply){
     if(reply === token) {
         client.execute(getAllProductsOfUser,[userid],{ prepare: true }, function(err, result){
             if(err){
                 res.status(404).send({msg: err});
             }
             else {
                 res.status(200).json({ count: result.rows.length});
             }
         });
     }
     else {
         return res.status(401).json(errorResponse('Invalid Query!', 401));
     }
 });
	client .connect(function(err) {
		if (!err) {
			client.execute("USE nosqllab", [], function(err){
				errorHandler(err, "use nosqllab", true);
				client.execute("CREATE TABLE user(id int, reputation int, created timestamp, displayName text, "
						+ " accountId int, PRIMARY KEY(id))", function(err){
					errorHandler(err, "create user table", true);
					process.exit(0);
				});
			});
			
		} else {
			errorHandler(err, "Connect: ");
		}
	});
 return new Promise( ( resolve, reject ) =>
 {
   client.execute( qText, qVar, {prepare: true}, ( err, result ) => { if( ensureNoErrorOrReport( qText, qVar, err, reject ) )
   {
     //console.log( "runQueryOneResult [" + qText + "] params=" + JSON.stringify( qVar ) + " err=" + JSON.stringify( err ) + " result=" + JSON.stringify( result ) );
     if( result.rowLength > 0 )
     {
       let row = result.rows[ 0 ];
       const retObj = new objectPrototype( row );
       resolve( retObj );
     }
     else
       resolve( null );
   } } );
 } );
 return new Promise(function(resolve, reject){
   rows = []
   queryOptions = {
     prepare: 1,
     fetchSize: fetchSize,
     pageState: pageState
   };
   self = this;
   cassandraClient.eachRow(queryText, queryParams, queryOptions, function(n, row){
     rows.push(row);
   }, function(err, result){
     if (err) return reject(err)
     return resolve({pageState: result.pageState, rows: rows});
   });
 });
Esempio n. 5
0
 redisClient.get(userid, function(err, reply){
     if(reply === token) {
         client.execute(getAllProductsOfUser,[userid],{ prepare: true }, function(err, result){
             if(err){
                 res.status(404).send({msg: err});
             }
             else {
                 res.status(200).json({ products: result.rows, ip:networkInterfaces.eth0[0].address });
             }
         });
     }
     else {
         return res.status(401).json(errorResponse('Invalid Query!', 401));
     }
 });
Esempio n. 6
0
 redisClient.get(userid, function(err, reply){
     if(reply === token) {
         client.execute(deleteProductOfUser, [userid, productid], { prepare: true }, function(err, result) {
             if(err){
                 res.status(404).json(errorResponse(err, 404));
             }
             else {
                 res.status(200).json({delete:"true"});
             }           
         });
     }
     else {
         return res.status(401).json(errorResponse('Invalid Input!', 401));
     }
 });
 return new Promise( ( resolve, reject ) =>
 {
   client.execute( qText, qVar, {prepare: true}, ( err, result ) => { if( ensureNoErrorOrReport( qText, qVar, err, reject ) )
   {
     const resultAsObjects = [ ];
     const rowCount = result.rowLength;
     for( let ixRow = 0 ; ixRow < rowCount ; ixRow++ )
     {
       let row = result.rows[ ixRow ];
       resultAsObjects.push( new objectPrototype( row ) );
     }
     //console.log( "runQuery: " + JSON.stringify( resultAsObjects ) );
     resolve( resultAsObjects );
   } } );
 } );
Esempio n. 8
0
router.post('/add', function(req, res, next){
	var id = cassandra.types.uuid();
	//Get the Values of the form
	var name = req.body.name;

	var query = "INSERT INTO findadoc.categories(id, name)VALUES(?, ?)";
	client.execute(query, [id, name], {prepare: true}, function(error, result){
		if(error){
			res.status(404).send({msg: error});
		}else{
			req.flash('success', 'New Category Added');
			res.location('/');
			res.redirect('/');
		}
	});
});
Esempio n. 9
0
		.get(function(request, response){

		var id = request.params.id;
		var to = request.params.to;
	
		var range = rangefinder(parseInt(id),parseInt(to));

		client.execute("SELECT * FROM sensor_details WHERE global_id IN (" + range +") ;", function(err, result){
			console.log("Executed Query");
			if (!err)
				response.json(result.rows);
			else
				response.json(err);
		}); 

	});
cdbqueryapi.listValues4Key = function (req, res) {
    var key = req.param("key"),
        table = req.param("table"),
        responseJSON = {"editEnabled": editEnabled, "keyvalues": []};

    cClient.execute("SELECT * FROM " + table + " WHERE key = asciiAsBlob('" + key + "')", [], function (err, results) {
        if (err) {
            logutils.logger.error(err.stack);
            commonUtils.handleJSONResponse(err, res, null);
        } else {
            results.rows.forEach(function (row) {
                responseJSON.keyvalues.push({"key": key, "table": table, "keyvalue": (row.column1).toString()});
            });
            commonUtils.handleJSONResponse(null, res, responseJSON);
        }
    });
};
cdbqueryapi.listKeys4Table = function (req, res) {
    var table = req.param("table"),
        responseJSON = {"table": table, "keys": [], "editEnabled": editEnabled};

    cClient.execute("SELECT DISTINCT key FROM " + table, [], function (err, results) {
        console.log(err);
        if (err) {
            logutils.logger.error(err.stack);
            commonUtils.handleJSONResponse(err, res, null);
        } else {
            results.rows.forEach(function (row) {
                responseJSON.keys.push({"table": table, "key": (row.key).toString()});
            });
            commonUtils.handleJSONResponse(null, res, responseJSON);
        }
    });
};
  all(cb) {
    this.client.execute(
      `SELECT * FROM ${this.cf};`, {
        prepare: false
      }, (err, res) => {
        if (err)
          return cb(err);

        let all = [];
        try {
          all = CassandraStore.deserialize(res.rows);
        } catch (e) {
          return cb(e);
        }
        return cb(null, all);
      });
  }
Esempio n. 13
0
function(err, result) {

	if (err) {
		 console.log('execute failed', err.message);
		if(err.code==8704){
			console.log('Fixing workspace.');
			client.execute("CREATE TABLE user(id int, reputation int, created timestamp, displayName text, "
					+ " accountId int, PRIMARY KEY(id))", function(err){
				errorHandler(err, "create user table", true);
				
				let fileUsers = __dirname + '/raw_xml/Users.xml';
				console.log('Processing users from "%s"', fileUsers);
				readUsers(__dirname + '/raw_xml/Users.xml', function *() {
				  let user = yield;
				  
				  while(user != null) {
				    
				    // Quotes with in the text can mess with insert. We have seen this
					// in RDBMS as well.
			    	var created = Date.parse(user.creationDate);
			    	var creationDate = user.creationDate.substring(0,10);
			    	
			    	
			    	if(user.displayName) user.displayName = user.displayName.replace(/'/g, '&#39;');
			    	
			    	// CREATE TABLE user(id int, reputation int, created timestamp, displayName text,  accountId int
				    var query = "INSERT INTO user (id, reputation, displayName, created, accountId) "
				    	+"VALUES ("+user.userId+", "+ user.reputation +", '"+ user.displayName +"', "+created+", "+user.accountId+")";
				    
				    send_query(query);
				    
				    // get next entry
				    user = yield;
				  }
				});
			});
		} else{
			console.log('User table may already exist. Drop table and try again.');
			 process.exit(0);
		} 
			
	} else{
		console.log('User table already exists.');
		 process.exit(0);
	} 
});
Esempio n. 14
0
 client.execute(addNewColumn, function(err) {
     if (!err) {
         client.execute(["select id from", tableName].join(" "), function(err, result) {
             var setDefaultColumnValue = ["update", tableName, "set", '"' + columnName + '"', '= ? where "id" = ?'].join(" ");
             
             _.forEach(result.rows, function(row) {
                 client.execute(setDefaultColumnValue, [defaultValue(), row.id], function(err) {
                     if (err) {
                         console.error(err);
                     }
                 });
             });
         });
     } else {
         console.error(err);
     }
 });
Esempio n. 15
0
app.get('/', function(req, res) {
	client.execute('SELECT id, title, created, commentCount FROM post LIMIT 100', [],

	function(err, result) {

		if (err) {
			console.log('execute failed', err.message);
			res.status(500).send(err.message);
		} else {
			console.log('KEYS returned %j', result.rows);
			res.render('index', {
				keys : result.rows
			});

		}
	});
});
Esempio n. 16
0
    this.save = function (callback) {
            
      
        console.log("saving upload");   

        var query = 'insert into uploads (model_id, upload_id, date, processed, result) values (?, ?, toTimestamp(now()), ?, ?)';
        client.execute(query, [
            this.model_id,
            this.upload_id,
            false,
            "Pending",
        ], { prepare: true }, function (err, data) {
            console.log("upload result", err, data);   

            callback(err);
        });
        
    }
cdbqueryapi.deleteValue4Key = function (req, res) {
    var key = req.param("key"),
        table = req.param("table"),
        value = req.param("value");
    if (value && value === "") {
        value = null;
    }

    //TODO:
    cClient.execute("DELETE FROM " + table + " WHERE KEY = asciiAsBlob('" + key + "') AND COLUMN1 = asciiAsBlob('" + value + "')", [], function (err, results) {
        if (err) {
            logutils.logger.error(err.stack);
            commonUtils.handleJSONResponse(err, res, null);
        } else {
            commonUtils.handleJSONResponse(null, res, results);
        }
    });
};
Esempio n. 18
0
router.post('/add', function(req, res, next) {

    console.log("WE ARE HERE");

  var cat_id = cassandra.types.uuid();
  var query = "INSERT INTO findadoc.categories(cat_id, name) VALUES(?,?)";

  client.execute(query, [cat_id, req.body.name], {prepare: true},
  function(err, result){
      if(err){
          res.status(404).send({msg:err});
      } else {
          req.flash('success', "Category Added");
          res.location('/doctors');
          res.redirect('/doctors');
      }
  });
});
  get(sid, cb) {
    this.client.execute(
      `SELECT * FROM ${this.cf} WHERE sid = ?;`, [sid], {
        prepare: true
      }, (err, res) => {
        if (err)
          return cb(err);
        else if (!res.rows.length)
          return cb(null, null);

        let session = null;
        try {
          session = CassandraStore.deserialize(res.rows[0]);
        } catch (e) {
          return cb(e);
        }
        return cb(null, session);
      });
  }
Esempio n. 20
0
function getState(intent, topic, state, input, cb) {
  var query = 'SELECT msg, nextState, nextIntent FROM state_mc WHERE intent=? AND topic=? AND state=? AND input=?';
  var params = [intent, topic, state, input];
  // console.log("Cass read params:", params);
  cassClient.execute(query, params, cb);
  //  cassClient.execute(query, params, function (err, result) {
  //   if (err) {
  //     console.log("error:", err);
  //   } else {
  //     console.log("Cass read result:", result);
  //   }
  // });

  // var valStr = "intent=" + intent + " AND ";
  // valStr = valStr + "topic=" + topic + " AND ";
  // valStr = valStr + "state=" + state + " AND ";
  // valStr = valStr + "input=" + input;
  // cassClient.execute("select msg, nextState, nextIntent from state_mc WHERE " + valStr, cb);
}
Esempio n. 21
0
		function(err, result) {

			if (err) {
				console.log('execute failed', err.message);
				res.status(500).send(err.message);
			} else {
				console.log('Post returned %j', result.rows);
				
				post = result.rows;
				

				
				client.execute('SELECT * FROM response WHERE parentId='+postId, [],

						function(err, com) {
//					console.log(post);
					if (err) {
						console.log('execute failed', err.message);
						res.status(500).send(err.message);
					} else {
						console.log('COMMENTS returned %j', com.rows);
						
						console.log("Sending back from comments ");
						res.render('details', {
							post: post,
							comments : com.rows
						});

					}
				});
				
				/*var sent = false;
				while(!sent){
					if(comments){
						console.logger("Comments are here......");
						
					} else {
						console.logger("Waiting for comments");
					}
				}*/
			}
		});
Esempio n. 22
0
router.post('/', function(req, res){
	var id1 = cassandra.types.uuid();
	var id2 = cassandra.types.timeuuid();

	var queries = [
		{
			query: 'INSERT INTO shoutapp.shouts(shout_id, username, body) VALUES(?,?,?)',
			params:[id1, req.body.username, req.body.body]
		},
		{
			query: 'INSERT INTO shoutapp.usershouts(username, shout_id, body) VALUES(?,?,?)',
			params: [req.body.username, id2, req.body.body]
		}
	];
	queryOptions = {};
	client.batch(queries, queryOptions, function(err){
		console.log(err);
		res.redirect('/shouts');
	});
});
function exec(envelope, query, options) {
  cassandra.eachRow(query, [], options, function (n, row) {
    socket.send([envelope, JSON.stringify(row)]);
    print('*');
  }, function(err, result){
    if(result && result.meta && result.meta.pageState) {
      var pageState = result.meta.pageState;
      if(pageState) {
        var ret = {
          'pageState': pageState,
          'query': query,
          'envelope': envelope,
        }
        eventEmitter.emit('event_stream_pagination', ret);
      }
    } else {
      print("\nNothing more to paginate.\n");
    }
  });
}
Esempio n. 24
0
        function uploadChunks(head, tail, model_id, upload_id, startingtime){

            console.log("saving chunk for model ", model_id, " upload ", upload_id, "size chunk ", head.length, "remaining", tail.length)
         
            var query = 'insert into uploadchunks (model_id, upload_id, date, chunk) values (?, ?, toTimestamp(now()), ?)';
            client.execute(query, [
                model_id,
                upload_id,
                head,
            ], { prepare: true }, function (err, data) {
                if (err){
                    callback(err);
                }else{
                    
                    if (tail && tail.length > 0) {
                        uploadChunks(tail[0], tail.slice(1), model_id, upload_id, startingtime)
                    } else {
                        var end = new Date().getTime();
                        var time = end - startingtime;

                          self.save((err, data) =>{
                            if (err){
                            
                                console.log("err upload",err, data);   
                                callback(err, data);
                            
                            } else {
   
                                Model.setUploadTime(model_id, time).exec(function(){ 
                                    callback(null);
                                });

                            }
                        });
                    }
                }
            });

        }
Esempio n. 25
0
function send_query(query){
	queuedUsers++;
	client.execute(query, [],
		function(err, result) {
	
			if (err) {
				console.log('execute failed', err);
				process.exit(0);
			} else {
				processedUsers++;
				 if((processedUsers % 100)==0) {
				     process.stdout.write('.');
				 }
				 
				 if(processedUsers>=queuedUsers){
					 console.log('\nWe are done');
					 process.exit(0);
				 }
			}
		}
	);
}
Esempio n. 26
0
		client.execute(query_transaction, [req.body.token, req.body.id], {prepare: true}, function(err, result) {
			if(err){
				res.statusCode = 500;
				return res.json({status: "Error on query_transaction: " + err});			
			}
			
			if(result.rows.length != 1){
				res.statusCode = 400;
				return res.json({status: "Transaction not found!"});						
			}
			
			if(req.body.confirmationCode == result.rows[0].tra_confirmationcode){
			
				client.execute(query_confirm_transaction, ['CONFIRMED', req.body.token, req.body.id], {prepare: true}, function(err, result) {
					if(err){
						res.statusCode = 500;
						return res.json({status: "Error on query_confirm_transaction: " + err});			
					}
				});
				//enviamos o email com o código de confirmação para o usuário
				var message = {
					text:    "Your transaction id: [" + req.body.id + "] was sucessfull confirmed!", 
					from:    "*****@*****.**",
					to:      usr_login,
					subject: "Transaction confirmed"
				};
				server.send(message, function(err, message) { 
					if(err){
						console.log("Error: " + err);
					};
				});				
				
				return res.json({status: "ok"});
			}else{
				res.statusCode = 400;
				return res.json({status: "Invalid confirmation code!"});
			}
						
		});
exports.CassandraClient = function CassandraClient(contact_point, key_space, user_name, password)
{
    var client = new cassandra.Client({
        contactPoints: [contact_point],
        keyspace: key_space,
        authProvider: new cassandra.auth.PlainTextAuthProvider(user_name, password)
    });

    return {
        executeQuery : function(query,callback){
            async.series([
                function connect(next) {
                    client.connect(next);
                },

                function select(next) {
                    client.execute(query,null, {fetchSize: 20000},  function (err, result) {
                        if (err) return next(err);

                        next(null, result.rows);
                    });
                }
            ], function (err, result) {
                if (err) {
                    console.error('There was an error', err.message, err.stack);
                    result = [];
                }
                callback(result[1]);
                console.log('Shutting down');
                client.shutdown();

            });
        }

    }


};
Esempio n. 28
0
exports.getNote = function(req, res, next) {
    
    // Set note variables.
    var email = req.params.email;
    var id = req.params.id;
    
    if (email == undefined || id == undefined || email == "" || id == "") {
        res.send(400, {
            'STATUS_KEY': 'Please define id.'
        });
    }
    else {
        
        // Query for note.
        query = 'select id, tag, bucket, body from notes where email =? and id =? allow filtering';
        client.execute(query, [email, id], function(err, result) {
            if (err) {
                res.send(err);
                client.shutdown();
            }
            else {
               
                // If note does not exist.
                if (result.rows[0] === undefined) {
                    res.send(404, {
                        'STATUS_KEY': 'Not Found'
                    });
                    client.shutdown();
                }
                else {
                    res.send(200, result.rows[0])
                    client.shutdown();
                }
            }
        })
    }
}
Esempio n. 29
0
var express = require('express');
var router = express.Router();
var cassandra = require('cassandra-driver');

var client = new cassandra.Client({
    contactPoints:['127.0.0.1']
});

client.connect(function(err, result){
    console.log('Cassandra Connected');
});


router.get('/add', function(req, res, next) {
  res.render('addcategory');
});

router.post('/add', function(req, res, next) {

    console.log("WE ARE HERE");

  var cat_id = cassandra.types.uuid();
  var query = "INSERT INTO findadoc.categories(cat_id, name) VALUES(?,?)";

  client.execute(query, [cat_id, req.body.name], {prepare: true},
  function(err, result){
      if(err){
          res.status(404).send({msg:err});
      } else {
          req.flash('success', "Category Added");
          res.location('/doctors');
Esempio n. 30
0
/**
 * NodeからCassandraへのアクセスサンプル
 * 日付計算はmoment-timezoneを利用
 * 参考:http://momentjs.com/timezone/docs/
 */
var cassandra = require('cassandra-driver');
var moment = require("moment-timezone");

// Set the auth provider in the clientOptions when creating the Client instance
var authProvider = new cassandra.auth.PlainTextAuthProvider('iotapp', 'pwdiotapp');

// prepare client
var client = new cassandra.Client({
//contactPoints : [ 'cassandra.japanwest.cloudapp.azure.com' ],
contactPoints : [ '133.162.209.156' ], // Fujitsu K5
authProvider : authProvider,
keyspace : 'iot'
});

var query = 'SELECT * FROM sens_by_day WHERE s_id=? and s_date=?';
client.execute(query, [ 's001.home', '2016-08-14' ], function(err, result) {
	if (err)
		return console.error(err);
	var row = result.first();
	// Date型処理
	var localdate = moment.tz(row['s_time'], 'Asia/Tokyo');
	// console.log(row['s_id']+' ,'+row['s_date']+'
	// '+dtime.toLocaleTimeString({timeZone:'Asia/Tokyo'})+', '+row['s_val']);
	console.log(row['s_id'] + ' ,' + localdate.format('YYYY-MM-DD HH:mm') + ', ' + row['s_val']);
});