예제 #1
0
파일: api_v2.py 프로젝트: moling3650/mblog
async def api_create_blog_v2(request, *, name, summary, content):
    check_user(request.__user__)
    check_string(name=name, summary=summary, content=content)
    blog = Blog(user_id=request.__user__.id, user_name=request.__user__.name, user_image=request.__user__.image,
                name=name.strip(), summary=summary.strip(), content=content.strip())
    await blog.save()
    return blog.to_json()
예제 #2
0
async def api_update_blog(id, request, *, name, summary, content):
    check_user(request.__user__)
    check_string(name=name, summary=summary, content=content)
    blog = await Blog.find(id)
    blog.name = name.strip()
    blog.summary = summary.strip()
    blog.content = content.strip()
    await blog.update()
    return blog
예제 #3
0
파일: api_v2.py 프로젝트: moling3650/mblog
async def api_delete_item_v2(table, id, request):
    models = {'user': User, 'blog': Blog, 'comment': Comment}
    check_user(request.__user__)
    item = await models[table].find(id)
    if item:
        await item.remove()
    else:
        logging.warn('id: %s not exist in %s' % (id, table))
    return dict(id=id)
예제 #4
0
파일: api_v2.py 프로젝트: moling3650/mblog
async def api_update_blog_v2(id, request, *, name, summary, content):
    check_user(request.__user__)
    check_string(name=name, summary=summary, content=content)
    blog = await Blog.find(id)
    blog.name = name.strip()
    blog.summary = summary.strip()
    blog.content = content.strip()
    await blog.update()
    return blog.to_json()
예제 #5
0
async def api_delete_item_v2(table, id, request):
    models = {'user': User, 'blog': Blog, 'comment': Comment}
    check_user(request.__user__)
    item = await models[table].find(id)
    if item:
        await item.remove()
    else:
        logging.warn('id: %s not exist in %s' % (id, table))
    return dict(id=id)
예제 #6
0
async def api_create_blog(request, *, name, summary, content):
    check_user(request.__user__)
    check_string(name=name, summary=summary, content=content)
    blog = Blog(user_id=request.__user__.id,
                user_name=request.__user__.name,
                user_image=request.__user__.image,
                name=name.strip(),
                summary=summary.strip(),
                content=content.strip())
    await blog.save()
    return blog
예제 #7
0
파일: api_v2.py 프로젝트: moling3650/mblog
async def api_create_comment_v2(id, request, *, content, time):
    user = request.__user__
    check_user(user, check_admin=False)
    check_string(content=content)
    blog = await Blog.find(id)
    if blog is None:
        raise APIResourceNotFoundError('Blog')
    comment = Comment(blog_id=blog.id, user_id=user.id, user_name=user.name, user_image=user.image, content=content.lstrip('\n').rstrip())
    await comment.save()
    comments = await Comment.findAll('blog_id = ? and created_at > ?', [id, time], orderBy='created_at desc')
    return dict(comments=[c.to_json(marked=True) for c in comments])
예제 #8
0
async def api_create_comment_v2(id, request, *, content, time):
    user = request.__user__
    check_user(user, check_admin=False)
    check_string(content=content)
    blog = await Blog.find(id)
    if blog is None:
        raise APIResourceNotFoundError('Blog')
    comment = Comment(blog_id=blog.id,
                      user_id=user.id,
                      user_name=user.name,
                      user_image=user.image,
                      content=content.lstrip('\n').rstrip())
    await comment.save()
    comments = await Comment.findAll('blog_id = ? and created_at > ?',
                                     [id, time],
                                     orderBy='created_at desc')
    return dict(comments=[c.to_json(marked=True) for c in comments])
예제 #9
0
async def api_delete_item(table, id, request):
    models = {
        'users': User,
        'blogs': Blog,
        'comments': Comment,
        'oauth': Oauth
    }
    check_user(request.__user__)
    item = await models[table].find(id)
    if item:
        await item.remove()
    else:
        logging.warn('id: %s not exist in %s' % (id, table))
    if table == 'blogs':
        comments = await Comment.findAll('blog_id = ?', [id])
        for comment in comments:
            await comment.remove()
    return dict(id=id)