def METHOD_NAME(self, request, pk, format=None):
    """add draft reviewer
    """
    try:
        d = Draft.objects.get(pk=pk)
    except Draft.DoesNotExist:
        return api_error(status.HTTP_404_NOT_FOUND,
                         'Draft %s not found' % pk)
    result = {}
    result['failed'] = []
    result['success'] = []
    reviewers = request.data.getlist('reviewer')
    for reviewer in reviewers:
        if not is_valid_username(reviewer):
            result['failed'].append({
                'email': reviewer,
                'error_msg': _('username invalid.')
                })
            continue
        try:
            User.objects.get(email=reviewer)
        except User.DoesNotExist:
            result['failed'].append({
                'email': reviewer,
                'error_msg': _('User %s not found.') % reviewer
                })
            continue
        # can't share to owner
        if reviewer == d.username:
            error_msg = 'Draft can not be asked owner to review.'
            result['failed'].append({
                'email': reviewer,
                'error_msg': error_msg
            })
            continue
        uuid = FileUUIDMap.objects.get_fileuuidmap_by_uuid(d.origin_file_uuid)
        origin_file_path = posixpath.join(uuid.parent_path, uuid.filename)
        # check perm
        if seafile_api.check_permission_by_path(d.origin_repo_id, origin_file_path, reviewer) != 'rw':
            error_msg = _('Permission denied.')
            result['failed'].append({
                'email': reviewer,
                'error_msg': error_msg
            })
            continue
        if DraftReviewer.objects.filter(draft=d, reviewer=reviewer):
            error_msg = 'Reviewer %s has existed.' % reviewer
            result['failed'].append({
                'email': reviewer,
                'error_msg': error_msg
            })
            continue
        result['success'].append({
            "user_info": {
                "name": reviewer,
                "nickname": email2nickname(reviewer)
            }
        })
        DraftReviewer.objects.add(reviewer, d)
        request_reviewer_successful.send(sender=None, from_user=request.user.username,
                                         to_user=reviewer, draft_id=d.id)
    return Response(result)