def get(self): db = DB() user_info = g.user_info role_sql = [] if user_info["role"]: for role in user_info["role"]: role_sql.append("data -> '$.id'='%s'" % role) sql = " or ".join(role_sql) role_status, role_result = db.select("role", "where %s" % sql) if role_status and role_result: for role in role_result: user_list = [] if role["tag"] == 0: status, result = db.select("user", "") else: status, result = db.select_by_list_list( "user", "product", user_info["product"]) if status is True: if result: for user in result: user.pop("password") user_list.append(user) else: return { "data": user_list, "status": True, "message": "" }, 200 else: return {"status": False, "message": result}, 500 for item in user_list: for attr in item.keys(): if attr not in ["id", "username", "mail"]: if item[attr]: tmp = [] status, result = db.select_by_list( attr, "id", item[attr]) if status is True: for info in result: tmp.append({ "id": info["id"], "name": info["name"] }) item[attr] = tmp else: db.close_mysql() return {"status": False, "message": result}, 500 db.close_mysql() return {"data": user_list, "status": True, "message": ""}, 200
def get(self): db = DB() status, result = db.select("user", "") user_list = [] if status is True: if result: for i in result: try: info = eval(i[0]) info.pop("password") user_list.append(info) except Exception as e: return {"status": False, "message": str(e)}, 500 else: return {"status": False, "message": "User does not exist"}, 404 else: return {"status": False, "message": result}, 500 for item in user_list: for attr in item.keys(): if attr not in ["id", "username"]: if item[attr]: tmp = [] status, result = db.select_by_list(attr, "id", item[attr]) if status is True: for i in result: try: info = eval(i[0]) tmp.append({"id": info["id"], "name": info["name"]}) except Exception as e: db.close_mysql() return {"status": False, "message": str(e)}, 500 item[attr] = tmp else: db.close_mysql() return {"status": False, "message": result}, 500 db.close_mysql() return {"users": {"user": user_list}, "status": True, "message": ""}, 200