def delete(self): # 头部的key不能有下划线 self.delete_parser.add_argument("evaid", type=int, required=True, location="headers") self.delete_parser.add_argument("uid", type=int, required=True, location="headers") self.delete_parser.add_argument("token", required=True, location="headers") args = self.delete_parser.parse_args() # 检查token if general_operation.check_token(args): print(args) try: eva_res = get_eva_by_id(args['evaid']).first() if eva_res is None: return {"error": "eva_id doesn't exist"}, 404 elif eva_res.uid != args['uid']: return {"error": "eva_id doesn't belong to uid"}, 403 ret = delete_eva_by_id(args['evaid']) if ret[0]: return {"status": "deleted"}, 200 else: print("error : ", ret[1]) return {"error": ret[1]}, 400 except Exception as e: print("error : ", repr(e)) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def get(self): self.get_parser.add_argument("uid", type=int, required=True, location="args") self.get_parser.add_argument("token", required=True, location="args") self.get_parser.add_argument("topic_id", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_index", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_size", type=int, location="args") args = self.get_parser.parse_args() # 检查token if general_operation.check_token(args): # print(args) try: ret = personal_post_query(args) if ret[0]: return ret[1] return {"error": ''}, 404 except Exception as e: print(traceback.print_exc()) return {"error": repr(e)}, 500 else: return {"error": "unauthorized"}, 401
def get(self): self.get_parser.add_argument("uid", type=int, required=True, location="args") self.get_parser.add_argument("token", required=True, location="args") self.get_parser.add_argument("mode", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_index", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_size", type=int, location="args") args = self.get_parser.parse_args() # 检查token if general_operation.check_token(args): try: ret = eva_query(args) if ret[0]: return ret[1], 200 else: return {"error": ret[1]}, 400 except Exception as e: print(traceback.print_exc()) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def put(self): self.put_parser.add_argument("uid", type=int, required=True, location="form") self.put_parser.add_argument("token", required=True, location="form") self.put_parser.add_argument("eva_id", type=int, required=True, location="form") self.put_parser.add_argument("score", required=True, location="form") self.put_parser.add_argument("tags", required=True, location="form") self.put_parser.add_argument("content", required=True, location="form") args = self.put_parser.parse_args() # 检查token if general_operation.check_token(args): print(args) try: eva_res = get_eva_by_id(args['eva_id']).first() if eva_res is None: return {"error": "eva_id doesn't exist"}, 404 elif eva_res.uid != args['uid']: return {"error": "eva_id doesn't belong to uid"}, 403 comment_time = datetime.now() ret = update_eva(args['eva_id'], args['content'], args['tags'], args['score'], True, comment_time) if ret[0]: return {"status": "updated"}, 200 else: return {"error": ret[1]}, 400 except Exception as e: return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def delete(self): # 头部的key不能有下划线 self.delete_parser.add_argument("findlostid", type=int, required=True, location="headers") self.delete_parser.add_argument("uid", type=int, required=True, location="headers") self.delete_parser.add_argument("token", required=True, location="headers") args = self.delete_parser.parse_args() # 检查token if general_operation.check_token(args): # print(args) try: ret = findlost_delete(args['uid'], args['findlostid']) if ret[0]: return {"status": "deleted"}, 200 else: print("error : ", ret[1]) return {"error": ret[1]}, ret[2] except Exception as e: print("error : ", repr(e)) return {"error": "wrong operation"}, 500 else: return {"error": "unauthorized"}, 401
def put(self): self.put_parser.add_argument("todo_id", type=int, required=True, location="form") self.put_parser.add_argument("uid", type=int, required=True, location="form") self.put_parser.add_argument("token", required=True, location="form") self.put_parser.add_argument("status", type=int, required=True, location="form") args = self.put_parser.parse_args() # 检查token if general_operation.check_token(args): # print(args) try: ret = todo_update_status(args['todo_id'], args['status']) if ret[0]: return {"status": "updated"}, 200 else: return {"error": ret[1]}, 404 except StatementError as e: return {"error": "bad request"}, 400 except Exception as e: return {"error": "wrong operation"}, 500 else: return {"error": "unauthorized"}, 401
def post(self): self.post_parser.add_argument("uid", type=int, required=True, location="form") self.post_parser.add_argument("token", required=True, location="form") self.post_parser.add_argument("comment_id", type=int, required=True, location="form") args = self.post_parser.parse_args() # 检查token if general_operation.check_token(args): try: ret = comment_like_add(args['uid'], args['comment_id']) print(ret) if ret[0]: return {"status": "created", 'id': ret[1]}, 200 else: return {"error": ret[2]}, ret[1] except Exception as e: print("error : ", repr(e)) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def put(self): self.put_parser.add_argument("uid", type=int, required=True, location="form") self.put_parser.add_argument("token", required=True, location="form") self.put_parser.add_argument("todo_id", type=int, required=True, location="form") self.put_parser.add_argument("label", required=True, location="form") self.put_parser.add_argument("title", required=True, location="form") self.put_parser.add_argument("content", required=True, location="form") self.put_parser.add_argument("start_time", required=True, location="form") self.put_parser.add_argument("deadline_time", required=True, location="form") self.put_parser.add_argument("priority", type=int, required=True, location="form") self.put_parser.add_argument("img_link", location="form") args = self.put_parser.parse_args() start_time = datetime.strptime(args['start_time'], "%Y-%m-%d %H:%M:%S").timestamp() deadline_time = datetime.strptime(args['deadline_time'], "%Y-%m-%d %H:%M:%S").timestamp() if start_time >= deadline_time: return {"error": "deadline_time <= start_time"}, # 检查token if general_operation.check_token(args): # print(args) try: ret = todo_update( args['todo_id'], args['label'], args['title'], args['content'], args['start_time'], args['deadline_time'], args['priority'], 0, args.get('img_link', ''), ) if ret[0]: return {"status": "updated"}, 200 else: return {"error": ret[1]}, 404 except Exception as e: return {"error": "wrong operation"}, 500 else: return {"error": "unauthorized"}, 401
def post(self): self.post_parser.add_argument("uid", type=int, required=True, location="form") self.post_parser.add_argument("token", required=True, location="form") self.post_parser.add_argument("class_id", type=int, required=True, location="form") self.post_parser.add_argument("score", type=int, required=True, location="form") self.post_parser.add_argument("tags", required=True, location="form") self.post_parser.add_argument("content", required=True, location="form") args = self.post_parser.parse_args() # 检查token if general_operation.check_token(args): print(args) try: # 检测class_id 是否存在 class_res = get_class_by_class_id(args['class_id']) if class_res is None: return {"error": "class_id doesn't exist"}, 404 teacher_id = class_res.teacher_id cid = class_res.cid ret = insert_eva(args['uid'], args['class_id'], args['content'], args['tags'], args['score'], True, cid, teacher_id) print(ret) if ret[0]: return {"status": "created", 'id': ret[1]}, 200 else: return {"error": ret[1]}, 400 except Exception as e: print("error : ", repr(e)) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def put(self): # uid, title, location, description, contact, img_link, kind) self.put_parser.add_argument("uid", type=int, required=True, location="form") self.put_parser.add_argument("token", required=True, location="form") self.put_parser.add_argument("findlost_id", type=int, required=True, location="form") self.put_parser.add_argument("title", required=True, location="form") self.put_parser.add_argument("location", required=True, location="form") self.put_parser.add_argument("description", required=True, location="form") self.put_parser.add_argument("contact", required=True, location="form") self.put_parser.add_argument("img_link", required=False, location="form") self.put_parser.add_argument("kind", type=int, required=True, location="form") args = self.put_parser.parse_args() # 检查token if general_operation.check_token(args): print(args) try: ret = findlost_update(args['uid'], args['findlost_id'], args['title'], args['location'], args['description'], args['contact'], args.get('img_link', ''), args['kind']) if ret[0]: return {"status": "updated"}, 200 else: return {"error": ret[1]}, ret[2] except Exception as e: print(traceback.print_exc()) return {"error": "wrong operation"}, 500 else: return {"error": "unauthorized"}, 401
def get(self): self.get_parser.add_argument("uid", type=int, required=True, location="args") self.get_parser.add_argument("token", required=True, location="args") self.get_parser.add_argument("class_id", required=True, location="args") self.get_parser.add_argument("mode", type=int, location="args") # term = 1:本学期 # term = -1:所有学期 self.get_parser.add_argument("term", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_index", type=int, location="args") # 用于分页 self.get_parser.add_argument("page_size", type=int, location="args") args = self.get_parser.parse_args() # 检查token if general_operation.check_token(args): try: # 检测class_id 是否存在 class_res = get_class_by_class_id(args['class_id']) if class_res is None: return {"error": "class_id doesn't exist"}, 404 teacher_id = class_res.teacher_id cid = class_res.cid args['teacher_id'] = teacher_id args['course_id'] = cid ret = class_eva_query(args) if ret[0]: return ret[1], 200 else: return {"error": ret[1]}, 400 except Exception as e: print(traceback.print_exc()) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def post(self): self.post_parser.add_argument("uid", type=int, required=True, location="form") self.post_parser.add_argument("token", required=True, location="form") self.post_parser.add_argument("title", required=True, location="form") self.post_parser.add_argument("location", required=True, location="form") self.post_parser.add_argument("description", required=True, location="form") self.post_parser.add_argument("contact", required=True, location="form") self.post_parser.add_argument("img_link", required=False, location="form") self.post_parser.add_argument("kind", type=int, required=True, location="form") args = self.post_parser.parse_args() # 检查token if general_operation.check_token(args): try: # uid, title, location, description, contact, img_link, kind) ret = findlost_add(args['uid'], args['title'], args['location'], args['description'], args['contact'], args['img_link'], args['kind']) # print(ret) if ret[0]: return {"status": "created", 'id': ret[1]}, 200 else: return {"error": ret[1]}, 400 except Exception as e: print("error : ", repr(e)) return {"error": "wrong operation"}, 500 return {"error": "unauthorized"}, 401
def delete(self): self.delete_parser.add_argument("uid", type=int, required=True, location="headers") self.delete_parser.add_argument("token", required=True, location="headers") self.delete_parser.add_argument("id", type=int, required=True, location="headers") args = self.delete_parser.parse_args() # 检查token if general_operation.check_token(args): print(args) try: ret = anonymous_delete(args) if ret[0]: return ret[1],200 return {"error": ret[2]}, ret[1] except Exception as e: print(traceback.print_exc()) return {"error": repr(e)}, 500 else: return {"error": "unauthorized"}, 401