Пример #1
0
    def post(self):
        self.parse.add_argument("email",
                                type=validate_email,
                                required=True,
                                help="用户邮箱必填")
        self.parse.add_argument("password",
                                type=str,
                                required=True,
                                help="用户名密码必填")

        agrs = self.parse.parse_args()
        email = agrs.get("email")
        password = agrs.get("password")
        user_obj = User.objects(email=email).first()
        if user_obj:
            password_status = check_password_hash(user_obj.password, password)
            if password_status:
                user_name = user_obj.user_name
                # access_token = create_access_token(identity="{0}+{1}+{2}".format(user_obj.user_id,user_obj.user_name,email))
                access_token = create_access_token(
                    identity={
                        "user_id": user_obj.user_id,
                        "user_name": user_obj.user_name,
                        "email": email
                    })
                data = {
                    "user": {
                        "user_id": user_obj.user_id,
                        "user_name": user_name,
                        "acceess_token": access_token
                    }
                }
                return format_response({
                    "code": 0,
                    "message": "success",
                    "data": data
                })
            return format_response({
                "code": 1000,
                "message": "账号密码错误",
                "data": email
            })
        else:
            return format_response({
                "code": 1000,
                "message": "用户不存在",
                "data": email
            })
Пример #2
0
 def post(self):
     self.parse.add_argument("path", type=str, required=True)
     self.parse.add_argument("project_id", type=int, required=True)
     agrs = self.parse.parse_args()
     path = agrs.get("path")
     project_id = agrs.get("project_id")
     obj = Swagger.objects(project_id=project_id).first()
     if obj:
         return format_response({
             "code": 1000,
             "data": "项目数据已存在",
             "message": "fail"
         })
     try:
         #  添加项目 swigger 数据
         swagger_parser = SwaggerParser(path)
         json_contents = swagger_parser.get_json_contents_holder()
         logger.info(type(json_contents))
         swigger = Swagger(project_id=project_id,
                           swagger_content=json_contents)
         swigger.save()
     except Exception as e:
         logger.error("项目保存 swagger 数据失败 {0}".format(str(e)))
         response = {
             "code": 1000,
             "data": "项目保存 swagger 数据失败",
             "message": "fail"
         }
         return format_response(response)
     try:
         # 将解析好的 api 存储到 interfaceLibrary
         swagger_parser.parser_interface(project_id, json_contents)
         response = {
             "code": 200,
             "data": {
                 "project_id": project_id
             },
             "message": "success"
         }
     except Exception as save_interfaceLibrary_error:
         swigger.delete(project_id=project_id)
         response = {
             "code": 1000,
             "data": save_interfaceLibrary_error,
             "message": "fail"
         }
     return format_response(response)
Пример #3
0
 def get(self, project_id):
     """
     获取单个项目ID
     :param project_id:  项目id
     :return:
     """
     logger.error("logger-------------------")
     project_obj = Project.objects(project_id=project_id).first()
     if project_obj:
         data = {
             "project_id": project_id,
             "project_name": project_obj.project_name,
             "project_desc": project_obj.project_desc,
             "owner": project_obj.owner
         }
         res = {"code": 200, "message": "success", "data": data}
         return format_response(res)
     res = {"code": 1000, "message": "项目不存在", "data": {}}
     return format_response(res)
Пример #4
0
 def post(self):
     self.parse.add_argument("email",type=validate_email,required=True,help="用户邮箱必填")
     self.parse.add_argument("user_name",type=str,required=True,help="用户名称必填")
     self.parse.add_argument("password",type=str,required=True,help="用户名密码必填")
     agrs = self.parse.parse_args()
     email = agrs.get("email")
     user_name = agrs.get("user_name")
     password = agrs.get("password")
     password_hash = generate_password_hash(password)
     # 检查用户名邮箱是否已存在
     user_obj = User.objects(user_name=user_name).first() or User.objects(email=email).first()
     if user_obj:
         data = {"user_name": user_obj.user_name,"email":user_obj.email}
         res = {"data": data,"code":1000,"message":"用户名或邮箱已存在"}
         return format_response(res)
     user = User(user_name=user_name,password=password_hash,source_password=password,email=email,create_time=datetime.utcnow().strftime("%Y-%m%d %H:%M:%S"))
     user.save()
     data = {"user_id":user.user_id,"email":email,"user_name":user_name}
     res = {"data":data}
     return format_response(res)
Пример #5
0
 def post(self, *args, **kwargs):
     """
     创建项目
     :return:
     """
     self.parse.add_argument("project_name",
                             type=str,
                             required=True,
                             help="项目名称必填")
     self.parse.add_argument("project_desc", type=str, help="项目描述")
     args = self.parse.parse_args()
     project_name = args.get("project_name")
     project_desc = args.get("project_desc")
     # 获取当前用户ID
     user_id = get_jwt_identity().get("user_id")
     project_obj = Project.objects(project_name=project_name).first()
     if project_obj:
         res = {"code": 1000, "message": "项目已存在", "data": {}}
         return format_response(res)
     project = Project(
         project_name=project_name,
         project_desc=project_desc,
         owner=user_id,
         create_time=datetime.utcnow().strftime("%Y-%m%d %H:%M:%S"))
     project.save()
     res = {
         "code": 0,
         "message": "success",
         "data": {
             "project_id": project.project_id,
             "project_name": project_name,
             "project_desc": project_desc,
             "owner": user_id
         }
     }
     return format_response(res)
def get_token_balance(event, context):
    data = None
    statusCode = HTTPStatus.BAD_REQUEST.value

    schema = {
        "type": "object",
        "properties": {"wallet_address": {"type": "string"}},
        "required": ["wallet_address"],
    }

    try:
        inputs = event["body"] or None
        if inputs is None:
            message = HTTPStatus.BAD_REQUEST.phrase
        else:
            payload = json.loads(inputs)
            validate(instance=payload, schema=schema)
            statusCode, message, data = get_snapshot_by_address(
                payload["wallet_address"]
            )
    except ValidationError as e:
        message = e.message

    return format_response(statusCode, message, data)
Пример #7
0
 def get(self):
     """
     获取所有项目
     :return: project obbject
     """
     self.parse.add_argument("page", type=int, default=1, help="页码")
     self.parse.add_argument("per_page",
                             type=int,
                             default=10,
                             help="每页显示数量")
     args = self.parse.parse_args()
     page = args.get('page')
     per_page = args.get('per_page')
     try:
         pagination = Project.objects().paginate(page=page,
                                                 per_page=per_page,
                                                 error_out=True)
         articles = pagination.items
         article_schema = ProjectSchema(many=True)
         data = article_schema.dump(articles)
     except:
         data = []
     res = {"code": 0, "message": "success", "data": data}
     return format_response(res)