Beispiel #1
0
router.post('/tripinvites', function (req, res) {
	var invitee = global.currUser.username;
	var trip = req.body.trip;
	var response = req.body.response;

	if (response == "accept") {
		//Delete the invite
		var inquery = "DELETE FROM INVITES WHERE USER_INVITEE='" + invitee + "' AND TRIP_ID =" + trip;
		console.log(inquery);
		oracle.connect(connectData, function (err, connection) {
			if (err) {
				console.log("Error connecting to db:", err);
				return;
			}

			connection.execute(inquery, [], function (err, results) {
				if (err) {
					console.log("Error executing query:", err);
					return;
				}
				console.log(results);
			});

			var attendsq = "INSERT INTO PLANS values('" + invitee + "', " +
				trip + ", " + 4 + ")";
			console.log(attendsq);
			connection.execute(attendsq, [], function (err, results) {
				if (err) {
					console.log("Error executing query:", err);
					return;
				}
				console.log(results);
				connection.close();
			});
			res.redirect('/tripinvites');
		});
	} else if (response == "reject") {
		//Validate that person you are trying to friend exists
		var query = "DELETE FROM INVITES WHERE USER_INVITEE='" + invitee + "' AND TRIP_ID=" + trip;
		console.log(query);
		oracle.connect(connectData, function (err, connection) {
			if (err) {
				console.log("Error connecting to db:", err);
				return;
			}

			connection.execute(query, [], function (err, results) {
				if (err) {
					console.log("Error executing query:", err);
					return;
				}

				console.log(results); //print for testing

				connection.close();
				res.redirect('/tripinvites');
			});
		});
	}
});
Beispiel #2
0
router.post('/respondtripreq', function (req, res) {
	var requester = req.body.requester;
	var trip = req.body.trip;
	var response = req.body.response;

	if (response == "accept") {
		var query = "UPDATE PLANS SET PLAN_ID=1 WHERE USER_ID='" + requester + "' AND TRIP_ID='" + trip +
			"'";
		oracle.connect(connectData, function (err, connection) {
			if (err) {
				console.log("Error connecting to db:", err);
				return;
			}

			connection.execute(query, [], function (err, results) {
				if (err) {
					console.log("Error executing query:", err);
					return;
				}
				console.log(results); //print for testing

				connection.close();
				res.render('successmessage', {
					message: "You have successfully added the user to your trip"
				});
			});
		});
	} else if (response == "reject") {
		var delq = "DELETE FROM PLANS WHERE USER_ID='" + requester + "' AND TRIP_ID='" + trip + "'";
		oracle.connect(connectData, function (err, connection) {
			if (err) {
				console.log("Error connecting to db:", err);
				return;
			}

			connection.execute(delq, [], function (err, results) {
				if (err) {
					console.log("Error executing query:", err);
					return;
				}

				console.log(results); //print for testing

				connection.close();
				res.render('successmessage', {
					message: "You have successfully denied the user's request to join your trip"
				});
			});
		});
	}
});
Beispiel #3
0
function insert_board(req,res,id,board){
	
	oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
		  	// selecting rows
	    	/*console.log(photo);
	    	console.log(id);
	    	console.log(board);
	    	console.log(source);*/
		  	connection.execute("insert into board values('"+id+"','"+board+"')",
		  			   [], 
		  			   function(err, results) {
		  	    if ( err ) {
		  	    	
		  	    	console.log(err);
		  	    	connection.close();
		  	    	res.render('error.jade',{result:{total:null},boardResult:boardResult,ratingResult:null,req:req});
		  	    	
		  	    } else {
		  	    	connection.close(); // done with the connection
		  	    	res.redirect('index');
		  	    	
		  	    	
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	
}
Beispiel #4
0
function insert_tag(req,res,results2) {
	
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	  		console.log("Response from newphoto.js took:"+(new Date().getTime()-req_start)+"ms");
	    	res.redirect('/error');
	    } else {
	    	console.log("in insert tag");
	    	req.session.sourceid=results2[0].SOURCEID;
	    	req.session.photoid=results2[0].PHOTOID;
	    	var q4 = new Date().getTime();
		  	connection.execute("insert into tags values('"+results2[0].SOURCEID+"', "+results2[0].PHOTOID+",'"+req.query.tag+"',1)",
		  			   [], 
		  			   function(err, results) {
		  		console.log("Query to insert tags into photo took:"+(new Date().getTime()-q4)+"ms");

		  	    if ( err ) {
		  	    	console.log(err);
			  		console.log("Response from newphoto.js took:"+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    } else {
		  	    	connection.close();
		  	    	go_to_board(req,res);
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #5
0
function insertTag(data, tag, index){
	//start a new connection for each tag so I can use currval (gives last used value per session)
	oracle.connect(connectData, function(err, connection){
		var query = "INSERT INTO TAG (TAGID, TAG) VALUES (seq_tag_id.nextval, '" +
		tag + "')";
		connection.execute(query,
				[],
				function(err, insertRes){
			if(err) {console.log(err);}
			else{
				query = "INSERT INTO CONTENTTAG (TAGID, CONTENTID) VALUES (seq_tag_id.currval, " + data["contentid"] + ")";
				connection.execute(query,
						[],
						function(err, results){
					if(err) { console.log(err); }
					connection.close();
					if(index == data["tags"].length-1){
						data["connection"].close();
						console.log("PIN TIME (W/ TAGS): " + (new Date().getTime() - data["time"]));
					}
				});
			}
		});
	});
}
Beispiel #6
0
router.get('/:server/:id', function (req, res) {

    var server = req.params.server;
    var id = req.params.id;
    var connectData = getServerDBInfo(server);

    oracle.connect(connectData, function (err, connection) {
        if (err) {
            console.log('Error connecting to db:', err);
            res.statusCode = 500;
            return res.send({ error: 'Wrong server' });
        }

        connection.execute("SELECT * FROM PROVIDENTMONITOR WHERE ID = :id", [id], function (err, results) {
            if (err) {
                console.log('Error executing query:', err);
                res.statusCode = 500;
                return res.send({ error: 'Invalid alarm id' });
            }
            //console.log(results);

            res.send(results);

            connection.close();
        });
    });
});
Beispiel #7
0
function doOracle(res, probe, callback){
  if (probe == 'oracle') {
    var oracle = require("oracle");
  } 
  if (probe == 'strong-oracle') {
    connectData['hostname'] = connectData['host']
    var oracle = require("strong-oracle")({});
  }
  if (probe == 'oracledb') {
    connectData['connectString'] = connectData['host'] + "/XE";
    var oracle = require("oracledb");
    oracle.connect = oracle.getConnection;
  }
  

  oracle.connect(connectData, function(err, connection) {
    if (err) { console.log("Error connecting to db:", err); return; }

    connection.execute("SELECT * FROM CUSTOMER WHERE USERNAME=\'foo\'", [], function(err, results) {
        if (err) { console.log("Error executing query:", err); return; }
        console.log("The " + probe + " results are", results);
        if (probe != 'oracledb') { connection.close(); }// call only when query is finished executing
        callback(err, results);
    });
  });
}
function oracleRetrieval(statement, cb) {
	var results = [];

	oracle.connect(connectData, function(err, connection) {
		connection.setPrefetchRowCount(50);

		var reader = connection.reader(statement, []);

		function doRead(cb) {
			reader.nextRow(function(err, row) {
				if (err) return cb(err, null);
				if (row) {
					console.log("got " + JSON.stringify(row));
					results.push(row);

					// recurse to read next record
					return doRead(cb);
				} else {
					// we are done
					console.log("all records processed");
					return cb(null, results);
				}
			});
		}

		doRead(cb);
	});	
}
Beispiel #9
0
var setcached = function(objID, sourceID, callback)
{
	// Set them 'T' for iscached
	console.log('set cached');
	console.log(objID + sourceID);
	
		oracle.connect(connectData, function(err, connection) {
		    if ( err ) {
		    	console.log(err);
		    } else {
		   
		    	var query="update object set iscached='T' where id=" + objID + " and source='" + sourceID +"'";
		    	
			  	connection.execute(query, 
			  			   [], 
			  			   function(err, results) {
			  	    if ( err ) {
			  	    	console.log(err);
			  	    	callback(results);
			  	    } else {
			  	    	//console.log(objID +" " +sourceID + " set to T" );
			  	    	
			  	    	connection.close(results); // done with the connection		
			  	    	callback();
			  	    	//delayy(500);
			  	    }
			
			  	}); // end connection.execute
		    }
		  }); // end oracle.connect

}
Beispiel #10
0
function insert_pin(res, objID, currentBoard) {
	  var srcID = "wawa";
	  //var objID_int = parseInt(objID);
	  //objID_int = objID_int + 1;
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
	    	query="INSERT INTO Pin (objectID, sourceID, board, login) VALUES ("
	    		+objID+", '"+srcID+"', '"+currentBoard+"', '"+userID+"')";
		  		connection.execute(query, 
		  			 [], 
		  			 function(err, results) {
		  			 if ( err ) {
		  			  	    	console.log(err);
		  			  	    	console.log(query);
		  			  	    	output_result(res,"Failed to add pin to board ", false, currentBoard,objID.toString(),srcID);
		  			  	    } else {
		  			  	    	output_result(res,"Successfully added pin to board ", true, currentBoard,objID.toString(),srcID);
		  			  	    	connection.close(); // done with the connection
		  	    }
				
	  	}); // end connection.execute
  }
}); // end oracle.connect
}
Beispiel #11
0
function insert_photo(res, objID, photo_url, currentBoard) {
		//var objID_int = parseInt(objID);
		//objID_int = objID_int + 1;
	  objID=objID+1;
	  console.log("increased objID in insert_photo:"+objID);
	  console.log("photo url is: "+photo_url);
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
	    	query="INSERT INTO Object VALUES ("+objID+", 'wawa', 'photo', '"+photo_url+"', 'F')";
		  		connection.execute(query, 
		  			 [], 
		  			 function(err, results) {
		  			 if ( err ) {
		  			  	    	console.log(err);
		  			  	    	console.log(query);
		  			  	    	//insert_pin(res, currentBoard);
		  			  	    	output_result(res,"Failed to add pin to board ", false,currentBoard,objID.toString(),"wawa");
		  			  	    } else {
		  			  	    	//insert_pin(res, currentBoard);
		  			  	    	console.log(currentBoard);
		  			  	    	insert_pin(res, objID, currentBoard);
		  			  	    	connection.close(); // done with the connection
		  	    }
				
	  	}); // end connection.execute
    }
  }); // end oracle.connect
}
Beispiel #12
0
function update_interest(res,req,username)
{
	oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	res.redirect('/error');
	    	console.log(err);
	    } else {
	    	console.log("here3");
	    if(req.query.chk_val!=null){
	    var interests = req.query.chk_val.toString();
	   console.log(interests);
	   console.log(username);
	    var interestArray = interests.split(",");
	    
	    for( var i = 0; i<interestArray.length; i++)
	    	{
	    	console.log(interestArray[i]);
			connection.execute("MERGE INTO interests I USING (SELECT count(*) as c  FROM interests WHERE userid = '"+username+"' and interest='"+interestArray[i]+"') J ON (J.c != 0 ) WHEN NOT MATCHED THEN INSERT (I.userid, I.interest) VALUES ('"+username+"','"+interestArray[i]+"')",
	[],
	function(err, results){	
		if(err) {
			res.redirect('/error');
			console.log(err);
			connection.close();
		}
		else {
			console.log("here4");
				update_login_table(res, req,username);


		}
	});}
	    }
	    connection.close();}	});}
Beispiel #13
0
router.post('/signupcomplete', function (req, res) {
	var username = global.currUser.username;
	var affiliation = req.body.affiliation;
	var interests = req.body.interests;
	console.log(username);
	console.log(affiliation);
	console.log(interests);

	var query = "UPDATE USERS SET AFFILIATION='" + affiliation + "', INTERESTS='" + interests + "'";
	query = query + "WHERE USER_ID ='" + username + "'";

	oracle.connect(connectData, function (err, connection) {
		if (err) {
			console.log("Error connecting to db:", err);
			return;
		}

		connection.execute(query, [], function (err, results) {
			if (err) {
				console.log("Error executing query:", err);
				return;
			}

			console.log(results); //print for testing

			connection.close();
			res.redirect('/myprofile');
		});
	});
});
Beispiel #14
0
function update_login_table(res,req,username) {
	console.log("here3-1");
	
	oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	res.redirect('/error');
	    	console.log(err);
	    } else {
	connection.execute("update users set first_name= '"+req.query.first_name+"', last_name= '"+req.query.last_name+
			"', email ='"+req.query.email+"',dob= '"+req.query.bday+"',affiliation= '"+req.query.affliation+"'where userid='"+username+"'",
			[],
			function(err, results){
				if(err) {
					res.redirect('/error');
					console.log(err);
					connection.close();
				}
				else {
					console.log(req.query.first_name);
					console.log(req.query.affliation);
				   query_db_userprofileself(res,req.session.username);
					
				}
			});
	    }
	});


}
Beispiel #15
0
function delete_interest_table(username) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	res.redirect('/error');
	    	console.log(err);
	    } else {
		  	// selecting rows
	   connection.execute("select * from  interests where userid = '"+username+"'", 
		  			   [], 
		  			   function(err,results){
	    		if ( err ) {
	    			res.redirect('/error');
		  	    	console.log(err);}
	    		else{
	    			if(results.length > 0){
	    				connection.execute("delete from interests where  userid='"+username+"';commit", 
		  			   [], 
		  			   function(err) {
		  	    if ( err ) {
		  	    	console.log(err);
		  	    	res.redirect('/error');
		  	    } else {

		  	    	connection.close(); // done with the connection
		  	    	
		  	    }
		
	    					});

	    		}				
	    		}	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #16
0
function updateprofile(res,req, username) {
	 oracle.connect(connectData, function(err, connection) {
		    if ( err ) {
		    	res.redirect('/error');
		    	console.log(err);
		    } else {
		    	console.log("here1");
		    	console.log(username);
		    	connection.execute("SELECT * FROM Login WHERE userid='"+username+"'" ,
			  			   [], 
			  			   function(err, results) {
			  	    if ( err ) {
			  	    	res.redirect('/error');
			  	    	console.log(err);
			  	    	connection.close();
			  	    } else {
			  	    	connection.close();
			  	    	console.log("here2");

			  	    	if(results.length > 0 )
			  	    	{
			  	    		update_interest(res, req,username);
			  	    	//	update_login_table(res, req,username);
			  	    	}
			  	    }
			
			  	}); // end connection.execute
		    }
		  }); // end oracle
}
exports.searchImg = function (err, query, callback) {
  console.log('searchImg: Greet the DBMS. Try fetching search img.');
  oracle.connect(connectData, function(err, connection) {
    if ( err ) {
    	console.log('searchImg: DBMS connection failed.');
    	console.log(err);
    } else {
    	console.log('searchImg: DBMS connection established.');
    	console.log("searchImg: the query key word is: " + query);
	  	connection.execute("select * from tag t, content c where t.contentid = c.id and t.tagname LIKE '"+ query + "'", 
  			   [], 
  			   function(err, results) {
  	    if ( err ) {
  	    	console.log('searchImg: DBMS Execution Error.');
  	    	console.log(err);
  	    } else {
  	    	connection.close(); // done with the connection
  	    	console.log('searchImg-------');
  	    	callback(err, results);
  	    	console.log(results);
  	    	console.log('searchImg: Callback and connection closed. Results:' + results);
  	    	console.log('searchImg-------');
  	    }
	  	}); // end: connection.execute
    } // end: else
  }); // end: oracle.connect
};
Beispiel #18
0
function photo_details(req,res) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	  		console.log("Response from newphoto.js took:"+(new Date().getTime()-req_start)+"ms");
	    	res.redirect('/error');
	    } else {
		  	// selecting rows
	    	console.log(req.query.url);
	    	console.log(req.query.tag);
	    	console.log("in select after inserting");
	    	var q3 = new Date().getTime();
		  	connection.execute("select * from photo where url='"+req.query.url+"'", 
		  			   [], 
		  			   function(err, results2) {
		  		console.log("Query to insert photo took:"+(new Date().getTime()-q3)+"ms");

		  	    if ( err ) {
		  	    	console.log(err);
			  		console.log("Response from newphoto.js took:"+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    } else {
		  	    	connection.close();
		  	    	insert_tag(req,res,results2) ;
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #19
0
function find_objID(res, photo_url, currentBoard) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
	    	query="select max(id) as ID from object";
	    	console.log(query);
		  		connection.execute(query, 
		  			 [], 
		  			 function(err, results) {
		  			 if ( err ) {
		  			  	    	console.log(err);
		  			  	    	console.log(query);
		  			  	    	output_result(res,"Failed to add pin to board ", false,currentBoard,"","wawa");
		  			  	    	//objID = results[0].ID;
		  			  	    	//insert_photo(res,objID, photo_url, tag, currentBoard);
		  			  	    } else {
		  			  	    	console.log(results[0].ID);
		  			  	    	//console.log(results.returnParam);
		  			  	    	console.log(currentBoard);
		  			  	        objID = results[0].ID;
		  			  	        console.log("objID from find_objID is:"+objID);
		  			  	    	insert_photo(res, objID,photo_url, currentBoard);
		  			  	    	connection.close(); // done with the connection
		  	    }
				
	  	}); // end connection.execute
  }
}); // end oracle.connect
}
Beispiel #20
0
function query_db(req,res) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    	res.redirect('/error');
	    } else {
		  	var q1 = new Date().getTime();
		  	connection.execute("select * from board where ownerid='"+req.session.username+"' and boardname='"+req.query.board_name+"'",
		  			[], 
		  	function(err, results) {
	    		console.log("Query to get board took: "+(new Date().getTime()-q1)+"ms");

		  	    if ( err ) {
		  	    	console.log(err);
		    		console.log("Response from newboardnewuser.js took: "+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    } else {
		  	    	connection.close();
		  	    	if(results.length==0){
		  	    		create_board(req,res);
		  	    	}
		  	    	else{
		  	    	board_exists(req,res);// done with the connection
		  	    }
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #21
0
function query_db1(res,name,results) {
	
	oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
		  	
		  	connection.execute("SELECT objecturl FROM objects where rownum <=5", 
		  			   [], 
		  			   function(err,results1) {
		  	    if ( err ) {
		  	    	console.log(err);
		  	    } else {
		  	    	connection.close(); 
		  	    	output_users(res, name, results,results1);
		  	    	
		  	    }
		
		  	}); 
	    }
	  });
	

	
}
Beispiel #22
0
function create_board(req,res) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
    		console.log("Response from newboardnewuser.js took: "+(new Date().getTime()-req_start)+"ms");
	    	res.redirect('/error');
	    } else {
		  	// selecting rows                        
	    	console.log(req.query.issecret);
	    	var q2 = new Date().getTime();
		  	connection.execute("insert into board values('"+req.session.username+"','"+req.query.board_name+"',"+req.query.issecret+")",
		  			[], 
		  	function(err, results) {
		  		console.log("Query to insert into board took:"+(new Date().getTime()-q2)+"ms");
		  	    if ( err ) {
		  	    	console.log(err);
		    		console.log("Response from newboardnewuser.js took: "+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    } else {
		  	    	connection.close();
		  	    	console.log("inserted board");
		  	    	go_to_boards(req,res) ;
		  	    }
		  	    
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #23
0
function query_db(res,req) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	res.redirect('/error');
	    	console.log(err);
	    } else {
		  	// selecting rows
	    	var q1 = new Date().getTime();
		  	connection.execute("select p.photoid, p.sourceid, p.url, p.is_cached, x.elements, p.avg_score from (SELECT photoid, sourceid, LTRIM(MAX(SYS_CONNECT_BY_PATH(tag,', ')) KEEP (DENSE_RANK LAST ORDER BY curr),',') AS elements FROM (SELECT photoid, sourceid, tag, ROW_NUMBER() OVER (PARTITION BY photoid,sourceid ORDER BY tag) AS curr, ROW_NUMBER() OVER (PARTITION BY photoid,sourceid ORDER BY tag) -1 AS prev FROM   tags where photoid="+req.session.photoid+"and sourceid='"+req.session.sourceid+"') GROUP BY photoid,sourceid CONNECT BY prev = PRIOR curr AND photoid = PRIOR photoid AND sourceid = PRIOR sourceid START WITH curr = 1) x, photo p where p.photoid=x.photoid and p.sourceid=x.sourceid order by p.avg_score DESC",
		  			   [], 
		  			   function(err, results) {
				console.log("Query to get details of photo took:"+(new Date().getTime()-q1)+"ms");

		  	    if ( err ) {
		  			console.log("Response from rate.js took:"+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    	console.log(err);
		  	    } else {
		  	    	connection.close(); // done with the connection
		  	    	output_searchresults(res, results);
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #24
0
function board_exists(req,res) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
    		console.log("Response from newboardnewuser.js took: "+(new Date().getTime()-req_start)+"ms");
	    	res.redirect('/error');
	    } else {
		  	// selecting rows
	    	var q3=new Date().getTime();
		  	connection.execute("update board set is_secret="+req.query.issecret+" where ownerid='"+req.session.username+"' and boardname='"+req.query.board_name+"'",
		  			[], 
		  	function(err, results) {
		  		console.log("Query to update into board took:"+(new Date().getTime()-q3)+"ms");

		  	    if ( err ) {
		  	    	console.log(err);
		    		console.log("Response from newboardnewuser.js took: "+(new Date().getTime()-req_start)+"ms");
		  	    	res.redirect('/error');
		  	    } else {
		  	    	connection.close();
		  	    	console.log("updated board");
		  	    	go_to_boards(req,res) ;
		  	    }
		  	    
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #25
0
router.get('/:server/getcount', function (req, res) {

    var server = req.params.server;
    var connectData = getServerDBInfo(server);

    oracle.connect(connectData, function (err, connection) {
        if (err) {
            console.log('Error connecting to db:', err);
            res.statusCode = 500;
            return res.send({ error: 'Wrong server' });
        }

        connection.execute("SELECT COUNT(*) as Alarms FROM PROVIDENTMONITOR WHERE STATUS='ALARM' AND ACTIVE='YES'", [], function (err, results) {
            if (err) {
                console.log('Error executing query:', err);
                res.statusCode = 500;
                return res.send({ error: 'No data' });
            }

            res.send(results);

            connection.close();
        });
    });
});
Beispiel #26
0
function query_db(res,name,username) {
	  oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	res.redirect('/error');
	    	console.log(err);
	    } else {
		  	// selecting rows
	    	var q1 = new Date().getTime();
		  	connection.execute("WITH search_tag AS (select pn.*,ps.avg_score,ps.url,ps.is_cached from pin pn, photo ps where pn.boardname='"+name+"' and pn.sourceid=ps.sourceid and pn.photoid=ps.photoid and pn.userid='"+username+"') select p.photoid, p.sourceid,p.url,p.is_cached, x.elements, p.avg_score from (SELECT photoid, sourceid, LTRIM(MAX(SYS_CONNECT_BY_PATH(tag,', ')) KEEP (DENSE_RANK LAST ORDER BY curr),',') AS elements FROM (SELECT photoid, sourceid, tag, ROW_NUMBER() OVER (PARTITION BY photoid,sourceid ORDER BY tag) AS curr, ROW_NUMBER() OVER (PARTITION BY photoid,sourceid ORDER BY tag) -1 AS prev FROM tags) GROUP BY photoid,sourceid CONNECT BY prev = PRIOR curr AND photoid = PRIOR photoid AND sourceid = PRIOR sourceid START WITH curr = 1) x, search_tag p where p.photoid=x.photoid and p.sourceid=x.sourceid order by p.avg_score DESC",
		  			[], 
		  			   function(err, results) {
	    		console.log("Time to query photos of user took:"+(new Date().getTime() - q1)+"ms");

		  	    if ( err ) {
		    		console.log("Response from showboardphoto took:"+(new Date().getTime() - req_start)+"ms");

		  	    	res.redirect('/error');
		  	    	console.log(err);
		  	    } else {
		  	    	connection.close(); // done with the connection
		  	    	boardname = name;
		  	    	output_searchresults(res, results);
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	}
Beispiel #27
0
router.get('/:server/', function (req, res) {

    var server = req.params.server;
    var connectData = getServerDBInfo(server);

    oracle.connect(connectData, function (err, connection) {
        if (err) {
            console.log('Error connecting to db:', err);
            res.statusCode = 500;
            return res.send({ error: 'Wrong server' });
        }

        connection.execute('SELECT * FROM PROVIDENTMONITOR', [], function (err, results) {
            if (err) {
                console.log('Error executing query:', err);
                res.statusCode = 500;
                return res.send({ error: 'No data' });
            }

            res.send(results);

            connection.close();
        });
    });
});
Beispiel #28
0
function getPins_db(res, id, req) {
	oracle.connect(connectData, function(err, connection) {
		if ( err ) {
			console.log(err);
		} else {
			//user's first 5 pins
			var userPins = "(SELECT * FROM " +
			"(SELECT PINID, CONTENTPATH, FIRSTNAME, USERID, BOARDNAME, CAPTION, CACHED, CONTENTID, RATING, " +
			"  LISTAGG(TAG, ' #') WITHIN GROUP (ORDER BY TAG) as tags FROM " +
			"(SELECT c.CONTENTPATH, c.CACHED, c.CONTENTID, u.FIRSTNAME, u.USERID, p.BOARDNAME, p.CAPTION, p.PINID, t.TAG, AVG(pr.RATING) as RATING " +
			"FROM PIN p, CONTENT c, USERS u, CONTENTTAG ct, TAG t, PINRATING pr " +
			"WHERE p.USERID=" +id+ " AND p.CONTENTID = c.CONTENTID AND u.USERID=" +id +
			" AND c.CONTENTID = ct.CONTENTID(+) AND ct.TAGID = t.TAGID(+) AND p.PINID = pr.PINID(+)" +
			" GROUP BY c.CONTENTPATH, c.CACHED, c.CONTENTID, u.FIRSTNAME, u.USERID, p.BOARDNAME, p.CAPTION, p.PINID, t.TAG)" +
			" GROUP BY PINID, CONTENTPATH, FIRSTNAME, USERID, BOARDNAME, CAPTION, CACHED, CONTENTID, RATING ORDER BY PINID DESC)" +
			" WHERE ROWNUM <= 8)";
			connection.execute(userPins, [],
					function(err, uresults){
				if(err) {console.log(err + "your pins error"); }
				else{
					getSuggestions(uresults, id, connection, res, req);
				}
			});
		}
	});

}
Beispiel #29
0
/////
// Query the oracle database, and call output_actors on the results
//
// res = HTTP result object sent back to the client
// name = Name to query for
function query_db(res,search_tag,user) {
	//user = req.session.user;
	
  oracle.connect(connectData, function(err, connection) {
    if ( err ) {
    	console.log(err);
    } else {
    	query = "select distinct O.OBJECTID, O.OBJECTURL, O.OBJECTNAME, O.OBJECTSOURCE, (select avg(score) from rating where objectid = O.objectid) AS AVG, " + 
			"(case when exists(select * from PIN where objectid=O.objectid and login ='******')  then 'Unpin' else 'Pin' end ) as ISPINNED"
  			+" from OBJECTS O, OBJECT_TAGS T where O.objectid = T.objectid and T.tag='"+search_tag+"'";
	  	// selecting rows
    	//SELECT objecturl FROM objects where objectid in (select objectid from pin where login='******'
	  	connection.execute(query, 
	  			   [], 
	  			   function(err, results) {
	  	    if ( err ) {
	  	    	console.log(err);
	  	    } else {
	  	    	connection.close(); // done with the connection
	  	    	console.log(results);
	  	    	output_actors(res, search_tag, results);
	  	    }
	
	  	}); // end connection.execute
    }
  }); // end oracle.connect
}
Beispiel #30
0
function insert_pin(req,res,id,photo,source,board,callback){
	
	oracle.connect(connectData, function(err, connection) {
	    if ( err ) {
	    	console.log(err);
	    } else {
		  	// selecting rows
	    	console.log(photo);
	    	console.log(id);
	    	console.log(board);
	    	console.log(source);
		  	connection.execute("insert into pin values('"+photo+"','"+source+"','"+id+"','"+board+"')",
		  			   [], 
		  			   function(err, results) {
		  	    if ( err ) {
		  	    	//document.alert("Cannot pin on the same board");
		  	    	console.log(err);
		  	    	connection.close();
		  	    	res.render('error.jade',{result:{total:null},boardResult:boardResult,ratingResult:null,req:req});
		  	    	callback && callback(null,null);
		  	    	
		  	    } else {
		  	    	connection.close(); // done with the connection
		  	    	
		  	    	callback && callback(null,"done");
		  	    	
		  	    	
		  	    	
		  	    }
		
		  	}); // end connection.execute
	    }
	  }); // end oracle.connect
	
}