db.check_token_and_permission("reset_any_password", token, function (err, return_value, client) { if (!return_value) { //false (no token) res.status(errors.bad_request()).send('Token missing or invalid'); } else if (return_value.reset_any_password === false) { //false (no permission) res.status(errors.no_permission).send('No permission'); } else if (return_value.reset_any_password === true) { //true console.log("return value: " + JSON.stringify(return_value)); if (return_value.expiry_timestamp < Date.now()) { res.status(errors.access_token_expired()).send('Access token expired'); } else { var sql_query = sql.delete().from(default_table).where(sql('chief_complain_id'), req.params.id); console.log(sql_query.toString()); client.query(sql_query.toParams().text, sql_query.toParams().values, function (err, result) { if (err) { res.send('error fetching client from pool 3'); sent = true; return console.error('error fetching client from pool', err); } else { q.save_sql_query(sql_query.toString()); res.json(result.rows); } }); } } });
client.query(sql_query2.toParams().text, sql_query2.toParams().values, function (err, result) { if (err) { if (!sent) { sent = true; res.status(errors.bad_request()).send("error 3"); } } else { console.log("token result: " + JSON.stringify(result.rows)); var sql_query3 = sql; var params = {}; params.token = util.random_string(255); params.expiry_timestamp = '2015-11-26 03:53:30.216636+00'; params.access_token = true; params.user_id = user_id; switch (result.rows.length) { //update last seen case 0: //device_id does not exist yet params.device_id = device_id; sql_query3 = sql_query3.insert('token', params); console.log("sql q3: " + sql_query3.toString()); client.query(sql_query3.toParams().text, sql_query3.toParams().values, function (err, result) { if (err) { res.send("errorrrrr"); } else { res.send("token saved"); } }); break; case 1: //device_id already exist sql_query3 = sql_query3.update('token', params).where(sql('device_id'), device_id); client.query(sql_query3.toParams().text, sql_query3.toParams().values, function (err, result) { if (err) { res.send("errorrrrr"); } else { res.send("token updated"); } }); break; default: //bugs } } });
function getFuncGroupHmiLevelsStatus (isProduction, hideDeleted = false) { return sql.select('function_group_id', 'permission_name', 'hmi_level') .select( '(' + sql.select('COUNT(pr.parent_permission_name)') .from('permission_relations pr') .join('permissions p', { 'p.name': 'pr.child_permission_name' }) .where({ 'pr.parent_permission_name': sql('function_group_hmi_levels.permission_name'), 'p.type': 'PARAMETER' }) .toString() + ') AS possible_parameter_count' ) .from('(' + getFuncGroupStatus(isProduction, hideDeleted) + ') fgi') .innerJoin('function_group_hmi_levels', { 'fgi.id': 'function_group_hmi_levels.function_group_id' }) .toString(); }
client.query(sql_query.toParams().text, sql_query.toParams().values, function (err, result) { if (err) { sent = true; res.status(errors.bad_request()).send("error 2"); } else { switch (result.rows.length) { case 0: sent = true; res.status(errors.bad_request()).send("Email does not exist"); break; case 1: var user_id = result.rows[0].user_id; //combine pwd and salt //hash it //compare it with processed_password //Assume password is correct var sql_query2 = sql .select() .from('token') .where(sql('device_id'), device_id) .where(sql('access_token'), true); console.log("result: " + JSON.stringify(result.rows[0])); console.log("The whole SQL query 2: " + sql_query2.toString()); client.query(sql_query2.toParams().text, sql_query2.toParams().values, function (err, result) { if (err) { if (!sent) { sent = true; res.status(errors.bad_request()).send("error 3"); } } else { console.log("token result: " + JSON.stringify(result.rows)); var sql_query3 = sql; var params = {}; params.token = util.random_string(255); params.expiry_timestamp = '2015-11-26 03:53:30.216636+00'; params.access_token = true; params.user_id = user_id; switch (result.rows.length) { //update last seen case 0: //device_id does not exist yet params.device_id = device_id; sql_query3 = sql_query3.insert('token', params); console.log("sql q3: " + sql_query3.toString()); client.query(sql_query3.toParams().text, sql_query3.toParams().values, function (err, result) { if (err) { res.send("errorrrrr"); } else { res.send("token saved"); } }); break; case 1: //device_id already exist sql_query3 = sql_query3.update('token', params).where(sql('device_id'), device_id); client.query(sql_query3.toParams().text, sql_query3.toParams().values, function (err, result) { if (err) { res.send("errorrrrr"); } else { res.send("token updated"); } }); break; default: //bugs } } }); break; default: sent = true; res.status(errors.bad_request()).send("Something wrong with the email (bug)"); } } });