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 })
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)
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)
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)
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)
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)