Example #1
0
    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
Example #2
0
 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