コード例 #1
0
ファイル: chief_complain.js プロジェクト: pithong/ehr-server
    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);
            }
          });
        }
      }
    });
コード例 #2
0
ファイル: user.js プロジェクト: pithong/ehr-server
              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

                  }

                }
              });
コード例 #3
0
ファイル: sql.js プロジェクト: smartdevicelink/sdl_server
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();
}
コード例 #4
0
ファイル: user.js プロジェクト: pithong/ehr-server
      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)");
          }
        }
      });