def test_init(): user1 = User('alice', '123', 'alice@email') user2 = User('admin', '123', 'admin@email') db.session.add(user1) db.session.flush() db.session.commit() user2.isAdmin = 1 db.session.add(user2) db.session.flush() db.session.commit() feed1 = Feedback("msg1") db.session.add(feed1) db.session.flush() db.session.commit() feed2 = Feedback("msg2") db.session.add(user2) db.session.flush() db.session.commit() rep1 = Report(1, 1, "msg1") db.session.add(feed1) db.session.flush() db.session.commit() rep2 = Report(1, 1, "msg2") db.session.add(rep2) db.session.flush() db.session.commit() return "success"
def report(): user_name = request.cookies.get("user_name") current_user = User.query.filter(User.username == user_name).all()[0] msg = request.values.get('msg', type=str, default=None) #被举报者id reported_id = request.values.get('reported_id', type=int, default=None) #举报内容,0,1,2,3分别代表 昵称、头像、座右铭、笔记文件 to_report = request.values.get('to_report', type=int, default=None) #文件号,如果to_report=3则必填 file_id = request.values.get('file_id', type=str, default=None) #是否匿名,取0 or 1 anonymous = request.values.get('anonymous', type=int, default=None) return_json = {'code': 900, 'data': {}} #被举报者不存在 if not User.query.get(reported_id): return_json['code'] = 400 return_json['data']['msg'] = "User does not exists" return jsonify(return_json) #举报内容为文件,文件号为空 if to_report == 3 and file_id == None: return_json['code'] = 900 return_json['data']['msg'] = "Error: file_id empty" return jsonify(return_json) # msg非法 if msg == None: return_json['data'][ 'msg'] = "message can not be None or Too long(over 200 bytes)" return jsonify(return_json) elif len(msg) == 0 or len(msg) > MAXMSG: return_json['data'][ 'msg'] = "message can not be None or Too long(over 200 bytes)" return jsonify(return_json) else: #msg合法 my_id = current_user.id if anonymous == 0: my_id = -1 my_report = Report(reported_id, to_report, msg, file_id, my_id) try: db.session.add(my_report) db.session.flush() db.session.commit() except: return_json['code'] = 300 return_json['data']['msg'] = 'Database error' return jsonify(return_json) return_json['code'] = 200 return_json['data']['msg'] = "report success" return jsonify(return_json)