def get_user(username, password, *args, **kwargs): # This is optional, if you don't need password credential # there is no need to implement this method user = User.query.filter( db.or_(User.name == username, User.email == username)).first() if user and user.check_password(password): return user return None
def show(slug): post_data = Post.query.filter(db.or_(Post.id == slug, Post.slug == slug)).first_or_404() next_post = get_next_post(post_data.id) prev_post = get_prev_post(post_data.id) return render_template('post.html', post=post_data, next_post=next_post, prev_post=prev_post)
def update(tag_id): payload = request.get_json() tag_data = Tag.query.filter(db.or_(Tag.id == tag_id, Tag.slug == tag_id)).first_or_404() tag_data, errors = TagSchema().load(payload) if errors: return jsonify(code=20001, error=errors), 422 tag_data.save() return TagSchema().jsonify(tag_data)
def index(): page = int(request.args.get('page', 1)) limit = int(request.args.get('limit', 20)) role_id = request.args.get('role') users_query = User.query if role_id: users_query = users_query.filter( db.or_(User.primary_role_id == role_id, User.secondary_roles.any(id=role_id))) users = users_query.order_by(User.created_at.desc()).paginate(page, limit) return AccountSchema().jsonify(users)
def update(post_id): post_data = Post.query.filter( db.or_(Post.id == post_id, Post.slug == post_id)).first_or_404() playload = request.get_json() post_data, errors = PostSchema().load(playload) if errors: return jsonify(code=20001, error=errors), 422 post_data.updated_by = g.user.id if post_data.status != 'published' and playload.get( 'status') == 'published': post_data.published_at = datetime.utcnow() post_data.published_by = g.user.id post_data.save() return PostSchema().jsonify(post_data)
def update(post_id): post_data = Post.query.filter( db.or_(Post.id == post_id, Post.slug == post_id)).first_or_404() playload = request.get_json() post_data, errors = PostSchema().load(playload) if errors: return jsonify(code=20001, error=errors), 422 post_data.updated_by = g.user.id if post_data.status != 'published' and playload.get( 'status') == 'published': post_data.published_at = datetime.utcnow() post_data.published_by = g.user.id post_data.save() if playload.get('telegram'): message = "{}\n{}".format( post_data.title, url_for('post_view.show', slug=post_data.slug, _external=True)) send_telegram_channel(message) return PostSchema().jsonify(post_data)
def get_tag(id_or_slug): return Tag.query.filter( db.or_(Tag.id == id_or_slug, Tag.slug == id_or_slug)).first()
def get_role(id_or_slug): return Role.query.filter( db.or_(Role.id == id_or_slug, Role.slug == id_or_slug)).first()
def destory(post_id): post_data = Post.query.filter( db.or_(Post.id == post_id, Post.slug == post_id)).first_or_404() post_data.delete() return jsonify(code=10000, message='success')
def show(post_id): post_data = Post.query.filter( db.or_(Post.id == post_id, Post.slug == post_id)).first_or_404() return PostSchema().jsonify(post_data)
def hit(slug): post_data = Post.query.filter(db.or_(Post.id == slug, Post.slug == slug)).first_or_404() post_data.views += 1 post_data.save() return jsonify(code=10000, message='success')
def get_setting(key): return Setting.query.filter(db.or_(Setting.key == key, Setting.id == key)).first()
def destory(tag_id): tag_data = Tag.query.filter(db.or_(Tag.id == tag_id, Tag.slug == tag_id)).first_or_404() tag_data.delete() return jsonify(code=10000, message='success')
def show(tag_id): tag_data = Tag.query.filter(db.or_(Tag.id == tag_id, Tag.slug == tag_id)).first_or_404() return TagSchema().jsonify(tag_data)
def show(slug, page=1): tag_data = Tag.query.filter(db.or_(Tag.id == slug, Tag.slug == slug)).first_or_404() posts = get_posts_by_tag(tag_data.id, page) return render_template('tag.html', tag=tag_data, posts=posts)