def add_day_data(): log.info("/add_day_data") pretty_print_POST(request) response = json.loads(request.data) ok_add, ok_once, ok_inc = False, False, False if len(db_fetch(query.add_day_data_check_rows.format(response["date"],response["userid"]))) == 0: log.info("adding row for date {} for user {}".format(response["date"],response["userid"])) statement = query.add_day_data_add_row.format(response["date"],response["userid"]) log.info("query: {}".format(statement)) ok_add = db_insup(statement) if response["add_type"] == "once": statement = query.add_day_data_set_value_once.format(response["type"],response["value"],response["date"],response["userid"]) log.info("query: {}".format(statement)) ok_once = db_insup(statement) if response["add_type"] == "increment": statement = query.add_day_data_fetch_value.format(response["type"],response["date"],response["userid"]) log.info("query: {}".format(statement)) result = db_fetch(statement) new_val = float(response["value"]) if result[0][0]: new_val += float(result[0][0]) log.info("updating value") statement = query.add_day_data_set_value_once.format(response["type"],new_val,response["date"],response["userid"]) log.info("query: {}".format(statement)) ok_inc = db_insup(statement) return Response(json.dumps({"inserted": ok_add or ok_once or ok_inc}), headers=HEADER, status=200, mimetype='application/json')
def update_session_info(): log.info("/update_session_info") pretty_print_POST(request) response = json.loads(request.data) session_id = response["session_id"] answers = response["answers"] start_ts,end_ts = response["start"],response["end"] if not response["date"]: date = str(datetime.datetime.now()).split(' ')[0] else: date = response["date"] start_ts = ' '.join([date,start_ts]) end_ts = ' '.join([date,end_ts]) start = datetime.datetime.strptime(start_ts, '%Y-%m-%d %H:%M:%S') end = datetime.datetime.strptime(end_ts, '%Y-%m-%d %H:%M:%S') duration = math.ceil(float((end-start).seconds/60.0)) for ans in answers: if ans["q_id"] == "0": rating = ans["val"] statement = query.update_session_info1.format(start,end,duration,rating,session_id) log.info("query: {}".format(statement)) ok_1 = db_insup(statement) ok_2 = True for ans in answers: statement = query.update_session_info2.format(ans["val"],session_id,ans["q_id"]) log.info("query: {}".format(statement)) ok = db_insup(statement) ok_2 = ok_2 and ok return Response(json.dumps({"insert":ok_1 and ok_2}), headers=HEADER, status=200, mimetype='application/json')
def register_app_instance(): log.info("/register_app_instance") pretty_print_POST(request) response = json.loads(request.data) statement = query.register_app_instance.format(response["userid"],response["appid"]) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"event_created": ok}), headers=HEADER, status=200, mimetype='application/json')
def register_device_key(): log.info("/register_device_key") pretty_print_POST(request) response = json.loads(request.data) statement = query.register_device_key.format(response["device_key"],response["user_id"]) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"msg": ok}), headers=HEADER, status=200, mimetype='application/json')
def login_info(): log.info('/login_info') pretty_print_POST(request) response = json.loads(request.data) for_users_table_vals = "('{}','{}','{}','{}','{}')".format(response["name"],response["email"],response\ ["userid"],response["password"],generate_device_key()) statement = query.login_info.format(for_users_table_vals) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"msg": ok}), headers=HEADER, status=200, mimetype='application/json')
def save_response(): log.info("/save_response") pretty_print_POST(request) response = json.loads(request.data) uid = response["user_id"] val = "" for a in response["answers"]: val += ",('{}','{}','{}','{}')".format(uid,a["qid"],a["ans"],str(datetime.datetime.now()).split('.')[0]) log.info("query: {}".format(query.save_response_ins.format(val[1:]))) ok = db_insup(query.save_response_ins.format(val[1:])) return Response(json.dumps({"msg": ok}), headers=HEADER, status=200, mimetype='application/json')
def register_coach_student(): log.info("/register_coach_student") pretty_print_POST(request) response = json.loads(request.data) send_data = [] for ath in response["athlete_ids"]: statement = query.register_coach_student.format(ath,response["userid"],\ str(datetime.datetime.now()).split('.')[0],response["type_id"]) log.info("query: {}".format(statement)) if db_insup(statement): send_data.append(ath) return Response(json.dumps({"inserted": send_data}), headers=HEADER, status=200, mimetype='application/json')
def register_user_info(): log.info("/register_user_info") pretty_print_POST(request) response = json.loads(request.data) for_users_info_table_vals = "('{}',{},'{}',{},{},'{}','{}',{})".\ format(response["userid"],response["age"],\ response["gender"],response["height"],response["weight"],\ response["s_id"],response["org"],response["role"]) statement = query.register_user_info.format(for_users_info_table_vals) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"register": ok}), headers=HEADER, status=200, mimetype='application/json')
def get_user_info_post(): log.info('/get_user_info') pretty_print_POST(request) response = json.loads(request.data) statement_validate = query.get_user_info_validate_user.format(response["userid"]) log.info("query: {}".format(statement_validate)) result = db_fetch(statement_validate) if len(result) == 0: return Response(json.dumps({"error": "user not registered"}), headers=HEADER, status=200, mimetype='application/json') if result[0][0] != response["password"]: return Response(json.dumps({"error": "password invalid"}), headers=HEADER, status=200, mimetype='application/json') user_data = get_user_details(response["userid"]) return Response(json.dumps(user_data), headers=HEADER, status=200, mimetype='application/json')
def edit_qstn_response(): pretty_print_POST(request) log.info("/edit_qstn_response") response = json.loads(request.data) uid = response["user_id"] send_response = [] for a in response["answers"]: statement = query.edit_qstn_response.format(a["ans"],uid,a["qid"]) log.info("query: {}".format(statement)) ok = db_insup(statement) if ok: send_response.append(a["qid"]) return Response(json.dumps({"updated_qids":send_response}), headers=HEADER, status=200, mimetype='application/json')
def register_injury(): log.info("/register_injury") pretty_print_POST(request) response = json.loads(request.data) if response["date"]: date = response["date"] else: date = str(datetime.datetime.now()).split('.')[0] val = "('{}','{}','{}','{}','{}','{}',{})".format(response["userid"],response["desc"],\ date,response["type"],response["location"],response["region"],response["intensity"]) statement = query.register_injury.format(val) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"msg": ok}), headers=HEADER, status=200, mimetype='application/json')
def update_user_info(): pretty_print_POST(request) log.info("/update_user_info") response = json.loads(request.data) uid = response["userid"] statement_update_users = query.update_user_info_1.format(response["name"],response["email"],uid) log.info("query: {}".format(statement_update_users)) ok_users = db_insup(statement_update_users) statement_update_user_info = query.update_user_info_2.format(response["age"],response["gender"],\ response["height"],response["weight"],response["sport_id"],\ response["organization"],response["role"],uid) log.info("query: {}".format(statement_update_user_info)) ok_user_information = db_insup(statement_update_user_info) ok = ok_users and ok_user_information return Response(json.dumps({"update":ok}), headers=HEADER, status=200, mimetype='application/json')
def post_event(): log.info("/post_event") pretty_print_POST(request) response = json.loads(request.data) start_date = '-'.join([response["start"]["year"],response["start"]["month"],response["start"]["day"]]) start_time = ':'.join([response["start"]["hours"],response["start"]["minutes"],response["start"]["seconds"]]) start = ' '.join([start_date,start_time]) end_date = '-'.join([response["end"]["year"],response["end"]["month"],response["end"]["day"]]) end_time = ':'.join([response["end"]["hours"],response["end"]["minutes"],response["end"]["seconds"]]) end = ' '.join([end_date,end_time]) created = str(datetime.datetime.now()).split('.')[0] vals = "('{}','{}','{}','{}','{}','{}')".format(start,created,response["desc"],response["title"],end,response["userid"]) statement = query.post_event.format(vals) log.info("query: {}".format(statement)) ok = db_insup(statement) return Response(json.dumps({"event_created": ok}), headers=HEADER, status=200, mimetype='application/json')