Пример #1
0
def api_entry(slug):
    if current_user.has_role('admin'):
        query = Entry.query
    else:
        query = Entry.public()
    entry_model = get_object_or_404(query, Entry.slug == slug)
    entry = EntryDetailSchema().dump(entry_model).data
    image_url = '{bucket}{path}/{filename}'.format(
        bucket=current_app.config['S3_LOCATION'],
        path=current_app.config['S3_UPLOAD_DIRECTORY'],
        filename=entry_model.image) if entry_model.image else ''
    return jsonify(data={'entry': entry, 'image': image_url})
Пример #2
0
def api_create_entry():
    form = UpdateForm()
    try:
        input_dict = EntryDetailSchema(strict=True).loads(form.entry.data).data
        if form.image.data:
            input_dict['image'] = form.image
        entry = Entry.create(**input_dict)
        output = EntryDetailSchema().dump(entry).data
        return jsonify(data={'entry': output}, messages=['Saved!'])
    except ValidationError as err:
        resp = jsonify({"error": err.messages})
        resp.status_code = 401
        return resp
Пример #3
0
def api_drafts():
    entries = Entry.drafts().order_by(Entry.timestamp.desc()).all()
    data = EntryStubSchema(many=True).dump(entries).data
    return jsonify(data=data)