def send_post_video(request, access_token): param = extract_parameter_from_request(request, url_param_type['POST']) if param: target_id, target_type = interpreter.get_target_content_info(param) user_id = gate_keeper.extract_user_id_from_access_token(access_token) if (target_id and user_id and target_type and clerk.check_right_upload(target_id, user_id, target_type) and formatchecker.is_correct_data_format( request.FILES, formatchecker.data_type['POST_FILE'])): result = clerk.upload_file(target_id, request.FILES, clerk.upload_type['post'], attach_ft['VIDEO'], attach_ft['SMALL_THUMBNAIL'], attach_ft['BIG_THUMBNAIL']) if result == server_status_code['OK']: return interpreter.pack_up_amazon_s3_video_url( clerk.complete_upload_post(target_id)) else: return json_response(result) return json_response(server_status_code['BADREQUEST'])
def member_sign_up(request): raw_user_info = interpreter.load_json_from_request(request) if formatchecker.is_correct_data_format( raw_user_info, formatchecker.data_type['NEW_MEM']): return interpreter.pack_up_login_info(clerk.sign_up(raw_user_info)) else: return json_response(server_status_code['BADREQUEST'])
def message_to_developer(request): message_info = interpreter.load_json_from_request(request) if formatchecker.is_correct_data_format(message_info, formatchecker.data_type['MESG']): return json_response(clerk.take_message_from_user(message_info)) else: return json_response(server_status_code['BADREQUEST'])
def get_first_message(request): package_info = interpreter.load_json_from_request(request) if formatchecker.is_correct_data_format(package_info, formatchecker.data_type['PKG']): package_name = package_info['pkg'] return json_response(clerk.send_app_first_message(package_name)) else: return json_response(server_status_code['BADREQUEST'])
def modify_user_info(request, access_token): user_id = gate_keeper.extract_user_id_from_access_token(access_token) user_info = interpreter.load_json_from_request(request) if user_id and user_info and formatchecker.is_correct_data_format( user_info, formatchecker.data_type['MOD_MEM']): return json_response(clerk.update_user_data(user_id, user_info)) else: return json_response(server_status_code['BADREQUEST'])
def is_our_member(self, request): access_token = self.get_valid_access_token(request) if (formatchecker.is_correct_data_format(access_token, formatchecker.data_type['A_TOKEN']) and self.member_col.find({'md.at._id': access_token['_id']}, {'_id': 0, 'md.at': 1} ).limit(1).count(True)): return access_token return False
def write_post(request, access_token): post_info = interpreter.load_json_from_request(request) requester_id = gate_keeper.extract_user_id_from_access_token(access_token) if requester_id and formatchecker.is_correct_data_format( post_info, formatchecker.data_type['NEW_POST']): post_author_id = post_info['md']['au']['ui'] if post_author_id and requester_id == post_author_id: return json_response(clerk.insert_post(post_info)) return json_response(server_status_code['BADREQUEST'])
def modify_post(request, access_token): param = extract_parameter_from_request(request, url_param_type['POST']) if param: post_id = param[url_param_type['POST']] new_post_info = interpreter.load_json_from_request(request) requester_id = gate_keeper.extract_user_id_from_access_token( access_token) if (post_id and requester_id and formatchecker.is_correct_data_format( new_post_info, formatchecker.data_type['MOD_POST'])): return json_response( clerk.update_post(post_id, requester_id, new_post_info)) return json_response(server_status_code['BADREQUEST'])
def is_our_member(self, request): access_token = self.get_valid_access_token(request) if (formatchecker.is_correct_data_format( access_token, formatchecker.data_type['A_TOKEN']) and self.member_col.find({ 'md.at._id': access_token['_id'] }, { '_id': 0, 'md.at': 1 }).limit(1).count(True)): return access_token return False
def send_gfycat_url(request, access_token): param = extract_parameter_from_request(request, url_param_type['POST']) url_info = interpreter.load_json_from_request(request) if param and formatchecker.is_correct_data_format( url_info, formatchecker.data_type['F_MSG']): target_id, target_type = interpreter.get_target_content_info(param) user_id = gate_keeper.extract_user_id_from_access_token(access_token) gfycat_mp4_url = url_info['gmu'] if target_id and target_type and user_id and gfycat_mp4_url: return json_response( clerk.save_gfycat_url_at_post(target_id, target_type, user_id, gfycat_mp4_url)) return json_response(server_status_code['BADREQUEST'])
def send_user_profile_picture(request, access_token): param = extract_parameter_from_request(request, url_param_type['USER']) if param: target_id, target_type = interpreter.get_target_content_info(param) user_id = gate_keeper.extract_user_id_from_access_token(access_token) if (target_id and user_id and clerk.check_right_upload(target_id, user_id, target_type) and formatchecker.is_correct_data_format( request.FILES, formatchecker.data_type['PROFILE_FILE'])): return json_response( clerk.upload_file(target_id, request.FILES, clerk.upload_type['user'], attach_ft['SMALL_PROFILE'], attach_ft['BIG_PROFILE'])) return json_response(server_status_code['BADREQUEST'])
def write_comment(request, access_token): param = extract_parameter_from_request(request, url_param_type['POST']) if param: post_id = param[url_param_type['POST']] comment_info = interpreter.load_json_from_request(request) requester_id = gate_keeper.extract_user_id_from_access_token( access_token) if (post_id and requester_id and formatchecker.is_correct_data_format( comment_info, formatchecker.data_type['NEW_COMMENT'])): #댓글 작성 요청자의 id가 request body에 실려있는 댓글 작성자의 id와 일치하는지 확인한다. comment_author_id = comment_info['md']['au']['ui'] if requester_id == comment_author_id: return interpreter.pack_up_comment( clerk.insert_comment(post_id, requester_id, comment_info)) return json_response(server_status_code['BADREQUEST'])