示例#1
0
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'])
示例#2
0
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'])
示例#3
0
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'])
示例#4
0
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'])
示例#5
0
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'])
示例#6
0
    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
示例#7
0
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'])
示例#8
0
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'])
示例#9
0
    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
示例#10
0
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'])
示例#11
0
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'])
示例#12
0
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'])