def users_get(user): # 查询全用户信息 limit, offset, query, sort, code = get_query_parameter( request, ['user_id', 'name', 'user_code'], [ 'user_id', 'name', 'user_code', 'join_date', 'rating_ptt', 'time_played', 'ticket' ]) if code < 0: return jsonify({ 'status': 200, 'code': code, 'data': {}, 'msg': code_get_msg(code) }) data = api.users.get_users(limit, offset, query, sort) if not data: return jsonify({ 'status': 200, 'code': -2, 'data': {}, 'msg': code_get_msg(-2) }) return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''})
def songs_get(user): # 查询全歌曲信息 limit, offset, query, sort, code = get_query_parameter( request, ['sid', 'name_en', 'name_jp', 'pakset', 'artist'], [ 'sid', 'name_en', 'name_jp', 'pakset', 'artist', 'date', 'rating_pst', 'rating_prs', 'rating_ftr', 'rating_byn' ]) if code < 0: return jsonify({ 'status': 200, 'code': code, 'data': {}, 'msg': code_get_msg(code) }) data = api.songs.get_songs(limit, offset, query, sort) if not data: return jsonify({ 'status': 200, 'code': -2, 'data': {}, 'msg': code_get_msg(-2) }) return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''})
def users_user_r30_get(user, user_id): # 查询用户r30 if user_id == 'me': user_id = user.user_id if user_id <= 0: return jsonify({ 'status': 200, 'code': -4, 'data': {}, 'msg': code_get_msg(-4) }) if user_id != user.user_id and not 'select' in user.power and user.user_id != 0: # 查别人需要select权限 return jsonify({ 'status': 403, 'code': -1, 'data': {}, 'msg': 'No permission' }) data = api.users.get_user_r30(user_id) if data['data'] == []: return jsonify({ 'status': 200, 'code': -3, 'data': {}, 'msg': code_get_msg(-3) }) return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''})
def wrapped_view(*args, **kwargs): re = Query() if 'limit' in request.json: try: re.limit = int(request.json['limit']) except: return jsonify({ 'status': 200, 'code': -101, 'data': {}, 'msg': code_get_msg(-101) }) if 'offset' in request.json: try: re.offset = int(request.json['offset']) except: return jsonify({ 'status': 200, 'code': -101, 'data': {}, 'msg': code_get_msg(-101) }) if 'query' in request.json: re.query = request.json['query'] for i in re.query: if i not in query_able: return jsonify({ 'status': 200, 'code': -102, 'data': {}, 'msg': code_get_msg(-102) }) if 'sort' in request.json: re.sort = request.json['sort'] for i in re.sort: if 'column' not in i or i['column'] not in sort_able: return jsonify({ 'status': 200, 'code': -103, 'data': {}, 'msg': code_get_msg(-103) }) if not 'order' in i: i['order'] = 'ASC' else: if i['order'] not in ['ASC', 'DESC']: return jsonify({ 'status': 200, 'code': -104, 'data': {}, 'msg': code_get_msg(-104) }) return view(re, *args, **kwargs)
def users_user_best_get(user, user_id): # 查询用户所有best成绩 if user_id == 'me': user_id = user.user_id if user_id <= 0: return jsonify({ 'status': 200, 'code': -4, 'data': {}, 'msg': code_get_msg(-4) }) if user_id != user.user_id and not 'select' in user.power and user.user_id != 0: # 查别人需要select权限 return jsonify({ 'status': 403, 'code': -1, 'data': {}, 'msg': 'No permission' }) limit, offset, query, sort, code = get_query_parameter( request, ['song_id', 'difficulty'], ['song_id', 'difficulty', 'score', 'time_played', 'rating']) if code < 0: return jsonify({ 'status': 200, 'code': code, 'data': {}, 'msg': code_get_msg(code) }) data = api.users.get_user_best(user_id, limit, offset, query, sort) if data['data'] == []: return jsonify({ 'status': 200, 'code': -3, 'data': {}, 'msg': code_get_msg(-3) }) return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''})
def songs_song_get(user, song_id): # 查询歌曲信息 data = api.songs.get_song_info(song_id) if not data: return jsonify({ 'status': 200, 'code': -2, 'data': {}, 'msg': code_get_msg(-2) }) return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''})
def return_encode(code: int = 0, data: dict = {}, status: int = 200, msg: str = ''): # 构造返回,返回jsonify处理过后的response_class if msg == '': msg = code_get_msg(code) if code < 0: return jsonify({ 'status': status, 'code': code, 'data': {}, 'msg': msg }) else: return jsonify({ 'status': status, 'code': code, 'data': data, 'msg': msg })
def token_post(): # 登录,获取token if 'auth' in request.json: data, code = api.api_auth.login(request.json['auth'], request.remote_addr) if code < 0: return jsonify({ 'status': 200, 'code': code, 'data': {}, 'msg': code_get_msg(code) }) else: return jsonify({'status': 200, 'code': 0, 'data': data, 'msg': ''}) else: return jsonify({ 'status': 401, 'code': -1, 'data': {}, 'msg': 'No authentication' })