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()
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
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()
async def api_update_blog(id, request, *, name, summary, content): check_admin(request) 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
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
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])
async def register(*, name, email, sha1_pw, oid=None, image=None): check_string(name=name) check_email_and_password(email, sha1_pw) users = await User.findAll('email = ?', [email]) if users: raise APIValueError('email', 'Email is already in used.') user = User(name=name.strip(), email=email, password=sha1_pw, image=image or '/static/img/user.png') await user.save() if oid: o = Oauth(id=oid, user_id=user.id) await o.save() # register ok, signin return user.signin(web.json_response({'signin user': user.name}))
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])