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'); }); }); } });
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" }); }); }); } });
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 }
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 }
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"])); } }); } }); }); }
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(); }); }); });
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); }); }
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 }
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 }
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 }
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();} });}
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'); }); }); });
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); } }); } }); }
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 }
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 };
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 }
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 }
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 }
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); } }); } }); }
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 }
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 }
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 }
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(); }); }); });
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 }
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(); }); }); });
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); } }); } }); }
///// // 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 }
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 }