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})
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
def api_drafts(): entries = Entry.drafts().order_by(Entry.timestamp.desc()).all() data = EntryStubSchema(many=True).dump(entries).data return jsonify(data=data)